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

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

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

“`terminal
time python3 mk_polyatomic_ion_replaced_point_poscar_for_trigonal_pyramidal_planar_shape.py CO3 C O 0.99 1.66 ../get_some_ion_contained_pos_folder_p_list/CO3_contained_poscar_folder_path_list_ver2.npy
“`
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%|███████████

元記事を表示

プログラミング特化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**についてまとめております。
##

元記事を表示

IPPONグランプリのプロフィール画像を作りたい(わけではなかったのです).

# きっかけ
2023年6月,北海道立近代美術館の特別展トリック×イリュージョン!を訪れた際にある作品を見て,作りたいアートのイメージが急に湧いてきた.それはソースコードの文字列で人の顔を表現するもので,すぐにその場で作成可能か調べてみた.画像から人物だけを切り抜き,2値化して黒い部分だけに上からソースコードを貼り付けてみようかと思っていると,[IPPONグランプリの公式サイト](https://www.fujitv.co.jp/ippon/profstudio.html)でそれっぽいものができることを発見した.しかし,この[IPPON PROFILE STUDIO](https://www.fujitv.co.jp/ippon/profstudio.html)をそのまま用いる場合,`名前を入力しないと生成できない点`と`背景の色の変化が小さくないとうまくいかない点`が壁として立ちはだかる.そもそもアートのために手軽に使いたかったわけであり,これらを解決するプログラムを自分で組むことにした.

:::note
直近では2024年2月3日(土)にIPPONグランプリが放送されます.
::

元記事を表示

10進数から2進数に変換

https://paiza.jp/works/mondai/loop_problems2/loop_problems2__conv_binary

たとえば
1だったら 1
2だったら繰り上がるので 10
3だったら 11
4だったら繰り上がるので100
こんな感じ。

(pythonにpow()メソッドがあるのは知らないという設定で)

“`py
def make_pow(x,y):
ret = 1
for i in range(y):
ret *= x
return ret

N = int(input())

binary = 0
i = 0
while N > 0:
digit = N % 2
binary += digit * make_pow(10,i)
# binary += digit * pow(10, i)
N //= 2
i += 1

print(binary)
“`

元記事を表示

Visual StudioとPythonでWebスクレイピング結果を定期的にファイル保存する

# 概要
[Visual StudioとPythonでWebスクレイピングを入門してみる](https://qiita.com/GOROGOROMOGUMOGU/items/65ca51c6dd0977b668c8) を発展させて、
1分毎にYahooリアルタイム検索を取得してファイルに保存してみます。
今回の学習ネタは、以下です。
1. 定期実行する
2. ファイル保存する

以下のライブラリを使います。
Schedule 1.2.1

# 1.定期実行
## Scheduleライブラリをインストールする
検索フィールドに「Schedule」を入力して[パッケージのインストール手順](https://qiita.com/GOROGOROMOGUMOGU/items/65ca51c6dd0977b668c8#%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%89%8B%E9%A0%86) を実施する
## Ya

元記事を表示

【Python, Unity】(ほぼ)コピペでUnity・Pythonの双方向通信を簡単に記述する

## はじめに
機械学習を`Unity`ゲーム上に持ち出したいとき、機械学習部分をどうしても`Python`で動かしたいとき、ありますよね。 ~~(機械学習界隈がよりによって`Python`の砂の城の上で遊んでいるため)~~

そこで、`Unity`と`Python`のTCPによる双方向通信を抽象化したコードを書いたので、その導入方法をご紹介します。

## やりたいこと
TCP通信にて、
– `Unity` -> `Python`
– `Python` -> `Unity`

の間で`JSON`を送りあいます。

一方からもう片方へメッセージが送られたら、そのメッセージを正しく処理できる **コールバック関数** を呼ぶ、というインフラを両者にスタンバイさせます。

ここでは、`Python`側がTCPサーバー、`Unity`側をTCPクライアントにしています。(起動順が変わるだけで、接続後は両者とも対等です)

### データ形式
**形式名**と**JSON部分**に分けます。
– **形式名**
JSON部分の形式を指定します。 **送られてきたデータが何のデータか識別

元記事を表示

構造体の検索 – <__main__.Member object at 0x14d495bb28e0>というのが出る

https://paiza.jp/works/mondai/class_primer/class_primer__find

“`py
class Member():
def __init__(self, name, old, birth, state):
self.name = name
self.old = old
self.birth = birth
self.state = state

# main
N = int(input())
members =[]
for _ in range(N):
member = Member(*input().split())
members.append(member)

q = int(input())
for member in members:
if member.old == q:
print(member.name)
break

“`

クラスにmemberデータを突っ込んでそれを

元記事を表示

【JavaScript】ぼく「import文の{}って?」 #ぼくの大発見日記

# はじめに

ナイトウ([@engineer_naito](https://twitter.com/engineer_naito))と申します。

最近Vueを勉強し始めました。
– 公式チュートリアル(https://vuejs.org/tutorial/)
– 本(『Vue 3 フロントエンド開発の教科書』(https://gihyo.jp/book/2022/978-4-297-13072-5))

で基礎的な部分の理解が進んできたので、
Vueの公式サイト(https://vuejs.org/)にある実装例集(https://vuejs.org/examples/)を見ながら写経しながら勉強を続けております。

で、公式サイトの実装例集を見てたらふと思ったことがありました。

# 「import文の{}って何?」

実装例集内の[Grid with Sort and Filter](https://vuejs.org/examples/#grid)のApp.vueのうちのこの部分↓

“`vue:App.vue