Python3関連のことを調べてみた

Python3関連のことを調べてみた

お金の支払い

https://paiza.jp/works/mondai/double_roop_problems/double_roop_problems__payment

最初全く考えつきませんでした。
たぶん、(1,X,Y)=Zの組み合わせを全部考えて
それらの中でそれぞれの数が最小になるのを選べばよいわけです。
だけど、これらをどうやって多重ループにすればいいのか?が考えつきませんでした。

ただし、
・ 2 ≦ X , Y ≦ 1000
・ X != Y
・ 1 ≦ Z ≦ 3000
うーんと。
まず1円というのがあるので、
ひとまず、テストケースを元に考えます。
500 1000 300なので、
X = 500
Y = 1000
Z = 300。
ZがXやYよりも少なければ、問答無用で1円をZ枚分使うのが最小になりますね。だから300が答えになります。

テストケース2だと
50 100 855
X = 50
Y = 100
Z = 855
XよりYが大きければそっちを限界まで使いますね。
この場合、Z//Y = 8をcntにいれて、余りをsumに入れればいいわけなので sum = Z

元記事を表示

リアルタイムで音響イベントをラズベリーパイ(Raspberry Pi4 B)で検出

# 使用したデバイス
1\.Raspberry Pi 4B(64-bit)
2\.USB接続マイク(logicool C270n HD WEBCAM)

# 前準備
マイクのデバイスが認識しているか
参考サイト https://hellobreak.net/raspberry-pi-usb-microphone/

# 手順
ターミナルで以下のコードからgit cloneし、ファイルに移動。そしてrequirements.txtに書かれているライブラリをインストール
使用させて頂いたgit hub
https://github.com/robertanto/Real-Time-Sound-Event-Detection
“`
git clone https://github.com/robertanto/Real-Time-Sound-Event-Detection.git
cd Real-Time-Sound-Event-Detection
pip3 install -r requirements.txt
“`
インストールが完了したらThonnyかターミナルで実行
ターミナルの

元記事を表示

人はマクドナルドだけで生きていけるのか?

# 概要
 「ファストフードは栄養が偏る」昔から様々な人たちに言われてきたことですが、果たして本当にそうなのでしょうか?昔はともかく、健康寿命が注目されている最近は栄養に気を使ったメニューなどが販売されており、ファストフードそのもののイメージも変わりつつあるように思えます。そこで、ファストフードでの飲食が本当に栄養バランスが偏るのかについて検証しようと思います。
 この検証にあたり、先行研究があったので、そちらを参考として進めていこうと思います。
# 参考

https://qiita.com/takobaya391076/items/49b15c1fa36734b3fa53

https://qiita.com/youwht/items/9098d560f28d16aa5567

https://qiita.com/Kashalpha/items/582d0ffab82192304ca5

# 目標
 先人たちが辿ってきた足跡をそのままなぞっても面白くないので、以下の要素を追加したものを完成系として目指そうと思います。
– 栄養摂取目安を年齢・性別・運動レベル別に設定する

元記事を表示

数値変換判定処理

数値に変換できるかチェックできるプログラムを2通りで実装しました。

1.例外処理を使う場合

“`python
str1 = input()
try:
num1 = int(str1)
print(“YES”)
except:
print(“NO”)
“`

2.isdigitメソッドを使う場合
“`python
s = input()

if s.isdigit():
print(“YES”)
else:
print(“NO”)

“`

追加
正負記号を入れた整数はisdigitメソッドでは判定できません
下のプログラムを実行しました。

![タイトルなし.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1055346/29706047-7973-53f3-255f-5389d305a26a.jpeg)

元記事を表示

スーパー鳩時計

https://paiza.jp/works/mondai/double_roop_problems/double_roop_problems__cuckoo_clock

素直に書くと
“`py
for x in range(24):
for y in range(60):
if ((x + y) % 3 == 0 and (x + y) % 5 == 0) or (x + y) == 0:
print(‘FIZZBUZZ’)
elif (x + y) % 3 == 0:
print(‘FIZZ’)
elif (x + y) % 5 == 0:
print(‘BUZZ’)
else:
print()
“`

3で割り切れるかつ5で割り切れる数、かもしくは0もx+yでというやつ。
とりあえず倍数をあげてみます
3 6 9 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60

元記事を表示

Flask-APSchedulerでadd_jobしようとしたらunexpected argumentで躓いた話

Flaskを利用してマイクロサービスを作っていますが,ちょっと定期的な処理を実装しようとして躓いたので情報共有

## 環境
環境は以下の通り
Python: 3.9.18
APScheduler: 3.10.4
Flask: 3.0.1
Flask-APScheduler:1.13.1

docker container(python3.9ベース)内にpip経由でライブラリを入れて作った環境で動かしてます

## やろうとしたこと
“`Python:test.py
from flask import Flask
from flask_apscheduler import APScheduler

def func1():
pass # 関数の内容は関係ないので

scheduler = APScheduler()

app=Flask(省略)

scheduler.init_app(app)

scheduler.add_job(func1, ‘cron’, min=15)
“`
こちら[公式](https://apscheduler.readthedocs.io/en/l

元記事を表示

ソーラーパネルの稼働状況の出力

# データの取得
ダッシュボード製作にあたり、必要な情報を取得しました。
自宅では、ソーラーパネルを設置しており、ポータルサイトから動作状況を確認できます。

https://ctrl.kp-net.com/settingcontrol/login

で、ログインすると、下記のような画面が表示されます。
![スクリーンショット 2024-01-30 113530.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3675614/e5397df1-d75d-3072-36a8-b6182479ed60.png)

ここに、ログイン、スクレイピングして、必要な数値を出力することを目的としました。

# ログインに必要なペイロード
Chrome上ログイン画面で、F12でなにが送信されているのか調べました。
ID、PASSのほか、非表示のcsrfの入力が必要でした。
最終的には、HTMLを見たら、どんな形でブラウザから受け取っているのかわかりました。

# csrfの壁
認証には、アクセス毎に変わるワンタイムパスワ

元記事を表示

log2

https://paiza.jp/works/mondai/double_roop_problems/double_roop_problems__log2

素直にこの通りに解きましたが
これだと、掛け算がオーバーフローしてエラーになる可能性があるそうです。
たしかにそれもそうか。
log2だと天文学的な数値になるとか学生の時に聞いたことがあるし。

“`py

N = int(input())
sum = 1
for i in range(1,N+1):
sum *= i

cnt = 0
while sum > 0:
if sum % 2 != 0:
break

sum //= 2
cnt += 1

print(cnt)

“`

で、再度見てみると。

たとえば4だとすると
1 * 2 * 3 * 4 は 24で、2で割り切れるのは3回。
要素ごとに2で割れるか調べてみると
1 * 2 * 3 * (2 * 2)
こうなります。2が3個あるので、3回割れることになる。
これを応用すれば良さそうです。

“`py

N =

元記事を表示

多原子イオンを点置換した新しい結晶構造作成ログ(三角錐形・平面三角形編)

### 複数の多原子イオンに対して,点置換するプログラムを実行
“`terminal
time ./do_mk_polyatomic_ion_replaced_point_poscar_for_trigonal_pyramidal_planar_shape.sh
“`

target_ion_name: CO3
central_atom_symbol: C
neighboring_atom_symbol: O
bond_length_lower_end: 0.99
bond_length_upper_end: 1.66
target_npy_p: ../get_some_ion_contained_pos_folder_p_list/CO3_contained_poscar_folder_path_list_ver2.npy
os.path.exists(target_npy_p): True
100%|█████████████████████████████████████████████████████████████████████████████████████████

元記事を表示

レガシーなWEBサイトの全ファイルににGTMのタグを追加したい

## 目的
大量のHTML、PHPファイルで構成されたWEBサイトにGoogleタグマネージャーを一括でインストールしたい。

## 経緯

htmlやPHPで構成されたレガシーなWEBサイトに大量のファイルが。
それらのファイルにはヘッダーやフッターなどの共通部分がモジュール化されておらず。
その為、googleタグマネージャーなどの全ページに設定したタグは一つずつ職人の手で手作業で更新する必要が。
地道に数十ファイルを更新した結果、気が滅入ってきたので、どうにか一括で更新するべく一念発起。

## 成果物

指定したフォルダ内の指定した拡張子のファイルの中から、指定した文字列を含むファイルに対して置き換え処理をするシンプルなものができました。
同じ文字を置き換えするファイルが大量にある場合に有効。

“`python3
import os

# ファイルの中に指定した文字列を含むか確認
def check_string(file_path):
with open(file_path, ‘r’, encoding=’utf-8′) as file:
data

元記事を表示

多原子イオンを点置換した新しい結晶構造作成ログ(四面体形編)

“`terminal
time ./do_mk_polyatomic_ion_replaced_point_poscar.sh
“`

target_ion_name: AlCl4
central_atom_symbol: Al
neighboring_atom_symbol: Cl
bond_length_lower_end: 1.80
bond_length_upper_end: 2.70
target_npy_p: ../get_some_ion_contained_pos_folder_p_list/AlCl4_contained_poscar_folder_path_list_ver2.npy
os.path.exists(target_npy_p): True
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 170/170 [00:05<00:00

元記事を表示

素数の個数

https://paiza.jp/works/mondai/double_roop_problems/double_roop_problems__prime_number_easy

全然分からなかったですね。。。
これで行けるかなと思ったんですが。

“`py
N = int(input())
cnt = 1 #2も素数のため
for i in range(3,N+1):
for j in range(2,10):
if i % j == 0:
continue
else:
cnt += 1

print(cnt)

“`
とりあえず素数って
1とその数以外割り切れない数ってやつですよね。

とりあえず2以上なのは間違いないでしょう。
条件にも入ってますし。

とりあえず10まで考えてみます。

2 = 1, 2 と2つしかないので素数。
3 = 1, 3 と2つしかないので素数。
4 = 2で割り切れちゃうので素数ではない。
5 = 1, 5 と2つしかないので素数。
6 = 1, 2, 3, 6と 2も3

元記事を表示

I created an app with Django [Diary app]

## 1. Create a project

“`
django-admin startproject [project]
cd [project]
python3 manage.py startapp [project]
“`
① Create urls.py in diary file
“`diary/urls.py
from django.urls import path
from .import views
app_name=’diary’
urlpatterns=[
path(”, views.index, name=’index’)
]
“`
② Edit views.py in diary file

“`diary/views.py
from django.shortcuts import render

def index(request):
return render(request, “diary/day_list.html”)
“`
③ Create templates/diary file in diary file a

元記事を表示

多原子イオンを点置換した新しい結晶構造作成例(四面体形・三角錐形・平面三角形)

### 現在地
“`terminal
pwd
“`
/mnt/ssd_elecom_c2c_960gb/scripts/mk_polyatomic_ion_replaced_point_poscar

### 使い方の確認(四面体形)
“`terminal
python3 do_mk_polyatomic_ion_replaced_point_poscar_for_tetrahedral_shape.py -h
“`
usage: do_mk_polyatomic_ion_replaced_point_poscar_for_tetrahedral_shape.py
example: python3 do_mk_polyatomic_ion_replaced_point_poscar_for_tetrahedral_shape.py NH4 N H 0.82 1.24 ../get_some_ion_contained_pos_folder_p_list/NH4_contained_poscar

元記事を表示

プログラミング特化LLMであるStable Code 3BをMacBook(M2)で動かしてコードを書いてもらった

[Supership](https://supership.jp/)の名畑です。[勇気爆発バーンブレイバーン](https://bangbravern.com/)が平成初期のアニメに触れまくった私のツボにはまりまくりなのですが、若い方々にも刺さる内容なのかが興味あります。

## はじめに

画像生成モデル[Stable Diffusion](https://ja.stability.ai/stable-diffusion)の提供元である[stability.ai](https://www.stability.ai/)が「[Stable Code 3B – エッジでのコーディング](https://ja.stability.ai/blog/stable-code-3b)」という記事を公開していました。

> – Stable Code 3Bは、30億パラメータを持つ大規模言語モデル(LLM)であり、CodeLLaMA 7bのような2.5倍の大きさを持つモデルと同等のレベルで、正確で応答性の高いコード補完を可能にします。
> – MacBook Airのような一般的なノートパソコンでGP

元記事を表示

SQLAlchemy(非同期)のCRUD

# 1.はじめに
最近、PythonのWebフレームワークであるFastAPIを使っています。
SQLAlchemyのORMapperを使って、PostgreSQLのデータベースを操作するプログラムを書きましたので、備忘録も兼ねて本記事に実装方法を残します。

今回は、以下のようなテーブルを題材にします。

### Testテーブル
| カラム名 | 型 | 備考 |
|:-:|:-:|:-:|
|id|integer|PK,Autoincrement|
|name|character(10)||
|created_at|date|Default: 現在時刻|

### Model
“`models/test.py
from sqlalchemy import Column, Integer, String, DateTime
from datetime import datetime
from database.database import Base

class Test(Base):
__tablename__ = “test”
id = Column(Int

元記事を表示

二次元配列の行ごとの和

https://paiza.jp/works/mondai/double_roop_problems/double_roop_problems__row_sum

ここはCランクだったのですが
なかなか苦手な分野だったので
じっくりします
複数ループを使う場面なのですが
ここでリスト内包を複数使ってます
ここらへんがどういう仕組かわかってないので
確認します

“`py
a = [[int(i) for i in input().split()] for _ in range(n)]

# 下と同じ
a = []
for _ in range(n):
row_int = [] # 空のリストを作成して整数に変換した要素を追加
for i in input().split():
row_int.append(int(i))
a.append(row_int) # リストに追加
“`
こういうことですね。
これもかけなくちゃ‐

ちなみに完全解はこちら

“`py

n, k = map(int, input().split())
a =

元記事を表示

PyPIの2段階認証とAPIトークン使用が必須化されました

# 概要

Pythonで自作のパッケージを作成した場合、以下のようにPyPIを使用して公開するのが一般的かと思います。(`pip install パッケージ名`でインストールできるアレです)

https://qiita.com/c60evaporator/items/e1ecccab07a607487dcf

 2024年1月より、PyPIにおける2段階認証とAPIトークン使用が必須化されました。これに伴い、**従来のユーザ名/パスワードによる認証**(`.pypirc`にユーザ名とパスワードを記載する方法)では**PyPIへのパッケージアップロードができなくなりました**。

 上記変更に対応して、APIトークンによるパッケージアップロードを行う方法については、以下「実践」を参照ください

## 参考リンク

公式詳細は以下リンクに記載されております

https://blog.pypi.org/posts/2024-01-01-2fa-enforced/

## 実践

以下記事の内容を、2段階認証とAPIトークンを使用する方法に更新しております。私の環境では以下手順でアップロ

元記事を表示

Wikipediaに偶然現れたポケモンの名前を検出する

# 概要
Wikipediaに偶然現れたポケモンの名前を検出します。
「姉**さん、ど**こへ行くの」(じめんポケモンの「サンド」が偶然登場している)みたいなやつです。

# 方法
## 方針
完璧な検出は無理なので、ルールベースで候補を絞り込んだ後、目視で面白そうな文章を見つけることにします。とはいえ、あまりに偽陽性が多いと、目視で探すのも大変なのである程度は絞り込みたいです。

「偶然現れた」をどう検出するかが重要です。
今回は「単語をまたいで音韻が一致する並びが登場した」ときに偶然現れた候補とみなすことにします。
例えば「アローラ地方でのサンドの姿」のように「サンド」という単語がそのままの意味で登場している文章は「偶然現れた」とは言えません。それを排除するために、単語をまたいで「サンド」という音韻が登場している場合だけを取得するようにします。

## 単語リスト
以下でまとめていただいているデータをお借りします(今回は研究用途であり、商標権の侵害にはならないという判断のもと、利用します)
https://wonderhorn.net/material/pokelist.html

元記事を表示

Python初心者の備忘録 #09 ~DSに使われるライブラリ編04~

# はじめに
今回私は最近はやりのchatGPTに興味を持ち、深層学習について学んでみたいと思い立ちました!
深層学習といえばPythonということなので、最終的にはPythonを使って深層学習ができるとこまでコツコツと学習していくことにしました。
ただ、勉強するだけではなく少しでもアウトプットをしようということで、備忘録として学習した内容をまとめていこうと思います。
この記事が少しでも誰かの糧になることを願っております!
**※投稿主の環境はWindowsなのでMacの方は多少違う部分が出てくると思いますが、ご了承ください。**
最初の記事:[Python初心者の備忘録 #01](https://qiita.com/Yushin-Tati/items/961dc47d6163f944f7e9)
前の記事:[Python初心者の備忘録 #08 ~DSに使われるライブラリ編03~](https://qiita.com/Yushin-Tati/items/f58bcaa9562fc2596439)
次の記事:まだ

今回は**Seaborn**についてまとめております。
##

元記事を表示

OTHERカテゴリの最新記事