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

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

宝くじ

https://paiza.jp/works/mondai/c_rank_skillcheck_archive/lottery

なかなか難しかったですね。。。

“`py
b = input()
n = int(input())
#2位の当選リスト
c = [‘1’ + str(i) + b[-4:] for i in range(10) if ‘1’ + str(i) + b[-4:] != b ]
#3位の当選リスト
d = []
for i in range(100):
if i < 10: d.append('10' + str(i) + b[-3:]) elif i > 10:
d.append(‘1’ + str(i) + b[-3:])

#3位のリストから1等や2等にあるものを抜く
for i in d:
if i == b:
d.remove(i)
for j in c:
if i == j:
d.remove(i)

flag = False

元記事を表示

それ,numpy で書かない?–6–

## それ,numpy で書かない?–6–

Python ではリストがよく使われる。また,for ループが遅いのでリストに特化したリスト内包表記も推奨されることが多い。

それなりの根拠があるからではあるが…

課題:リストではなく二次元配列を使う。
リストをうまく操ろうとしてリスト内包表記を濫用すると,とても見通しの悪い,醜いプログラムになる。

副次効果:他の部分のプログラムもシェープアップされる。

以下に,奇数魔方陣を作って,正しいかどうか検証するプログラムを二通り書いて比較してみる。

## 1. リストとリスト内包表記を使う
“`python
def generate_odd_magic_square(n):
magic_square = [[0] * n for _ in range(n)]
num = 1
i, j = 0, n // 2

while num <= n * n: magic_square[i][j] = num num += 1 new_i, new_j = (

元記事を表示

localhot xampp セッティング例「備忘録」

一度整理して、再構築したので構築の見本と備忘録のため例として載せることにしました。
それぞれの環境のパスに合わせ参考程度でお願いします。
“`text
xampp-control.exe action to stato

it my address
C:\xampp\htdocs
http://localhost/ to PHP: index.php http://127.0.0.1/index.php

Apache 2.2 work Area action?
file:///C:/Program%20Files%20%40×86%41/Apache%20Software%20Foundation/Apache2.2/htdocs/my_work_index.memo
PHP
php_5_4_6_Win32_VC9_x86 Chec Apach conf httpd.conf No Sete UP.
php_8_2_12_vs16_64 local no setup
Sete up: Apache
AddHandler cgi-script .cgi .pl .r

元記事を表示

レベルC復習

https://paiza.jp/works/mondai/c_rank_skillcheck_archive/word-count

“`py
A = {}
for target in input().split():
if target not in A:
A[target] = 1
else:
A[target] += 1

for word,result in (A.items()):
print(word, result)
“`

https://paiza.jp/works/mondai/c_rank_skillcheck_archive/search_history

“`py
n = int(input())
#チェック用の配列
re = []

for i in range(n):

s = input()
#もしsがre配列にあれば削除
if s in re:
re.pop(re.index(s))
#追加
re.append(s)

#最新

元記事を表示

GoogleMapの「住所をコピーする」で取得した住所から郵便番号を外すPython3コード(Pythonista3対応)

# はじめに
本コードはPython3およびiOS版アプリPythonista3を用いて、iPhone版GoogleMapAppの住所の部分をコピペしたものから、郵便番号を抜き取るものです。

1. GoogleMapの住所部分をクリップボードにコピー
1. iOSの場合はPythonista3を起動
1. 本コードを実行
1. クリップボードに「住所」のみコピー
1. Pythonista3のコンソールに「郵便番号[改行]住所」を出力

という趣旨です。

# 用途
例えばiOSアプリ「乗換案内」の住所検索では郵便番号が入っている場合に、正常に検索してくれません。そのためGoogleMapアプリの目的地(あるいは出発地)から住所をコピペした後で、本コードを実行し、その後「乗換案内」にペーストして、住所タブを選択することで、郵便番号を削除する手間を省くといった利用方法があります。
(というか、そのためだけに作りました……)

# 前準備
Pythonista3は有料です。iOSでお使いの場合は別途お買い求めください。

# ソースコード
“`python:google_address

元記事を表示

【Python】複数のJSONファイルを一つのJSONファイルにする方法を2つ紹介(os / globモジュール)

# 概要
大量のJSONファイルを一つにまとめる、ということが必要になったのでPythonで実装しました。

ここでは2つの方法(`os`モジュールと`glob`モジュール)を紹介します。

# サンプルコード2種
以下の2つ、どちらのコードでも、複数のJSONファイルを一つのJSONファイルにできます。

– 1つ目の方法(`os`モジュール利用)
– 2つ目の方法(`glob`モジュール利用)

## 1つ目の方法(`os`モジュール利用)

“`py
import json
import os

def combine_json_files(input_folder, output_file):
combined_data = []

# フォルダ内の各JSONファイルを処理
for filename in os.listdir(input_folder):
if filename.endswith(“.json”):
file_path = os.path.join(input_folder, filename)

元記事を表示

Stable Diffusion を理解したい! 〜 Day 1 〜

あ、どーも。東京理科大学大学院修士過程2年の秋田と言います。春から所属が変わる予定ですが、まあよろしくお願い致します__|\○_

完全に個人的な趣味ですが、どうしても Stable Diffusion を理解したくてこの記事を順に上げていく運びとなりました。

# そもそも Stable Diffusion とは
2022年頃から出てきた超スーパーハイパーウルトラめちゃくちゃ優秀な画像生成AI君です。

どういうふうに使うかというと、基本的には生成したい画像のキャプションとなる文章を打ち込むことで、それに準ずる画像がしゅぽっと出てくるって感じですね。

![スクリーンショット 2024-02-07 19.22.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2653215/21dd21e5-8572-9f58-2dbe-0d48e51961e4.png)

Robin Rombach, Andreas Blattmann, Dominik Lore

元記事を表示

Python Script: Retrieve and Print Zabbix API Version

## Step 1

First, ensure you have the `requests` library installed in your Python environment, as it’s a common library for making HTTP requests. If it’s not installed, you can install it using pip

“`
pip install requests
“`

## Step 2
Use the following Python script to retrieve Zabbix API version.
**Replace `YOUR_ZABBIX_URL` with the URL of your Zabbix server** and ensure that you have the correct endpoint for the API (commonly it’s /api_jsonrpc.php).

“`retrieve_zabbix_version.py
import

元記事を表示

Pythonで始める音声認識:faster-whisperを使った簡単なガイド

音声認識技術は、私たちの生活やビジネスに革命をもたらしています。特に、ポッドキャストのテキスト化、会議の議事録作成、音声コマンドを使った操作など、その用途は日々広がりを見せています。しかし、多くの人々が直面しているのは、技術の複雑さと実装の難しさです。ここで、Pythonユーザーに朗報です。`faster-whisper`は、音声認識を簡単に、そして速く行うためのツールです。

https://github.com/SYSTRAN/faster-whisper

# 対象読者
この記事は、Pythonに慣れ親しんでいるが、音声認識技術を使ってみたいと考えているプログラマーや開発者、また音声データをテキストに変換したい研究者やコンテンツクリエイターを対象としています。

# 解決したい問題
音声データをテキストに変換する過程の複雑さと時間を削減し、誰もが簡単に高精度な音声認識を実現できるようにすることがこの記事の目的です。

# はじめに
音声認識技術の進化は目覚ましいものがありますが、それを実際に使いこなすには専門知識が必要とされがちです。`faster-whisper`は、このギャッ

元記事を表示

シミュレーション

https://paiza.jp/works/mondai/c_rank_level_up_problems/c_rank_simulation_boss

“`py
H = int(input())
P_dmg_1 = 1
P_dmg_2 = 1
M_dmg_1 = 1
M_dmg_2 = 1
#turnは3から
#Hははじめから2減らす
turn = 2
H = 35- 2
while True:
turn += 1
P_dmg_1 = P_dmg_2
P_dmg_2 = M_dmg_1 + M_dmg_2
M_dmg_1 = M_dmg_2
M_dmg_2 = P_dmg_1 + P_dmg_2 * 2

H -= M_dmg_2
if H < 0: break print(turn) ``` ```py H = int(input()) P_dmg_1 = 1 P_dmg_2 = 1 M_dmg_1 = 1 M_dmg_2 = 1 #turnは3から #Hははじめから2減らす turn = 2

元記事を表示

List操作のデバッグを効率化するラッパークラス活用法

# はじめに

Java や Python など、多くのプログラミング言語で List やその他のコレクション型のデータ構造は頻繁に使用されます。これらのコレクションにオブジェクトを追加する際、特に複雑なアプリケーションや可読性の非常に低いコードでは、デバッグが難しくなることがあります。特に、List のオブジェクトクラスなどが多用されている場合、問題の追跡と解決はより複雑になります。このような状況を解決するための有効なデバッグ方法の一つが、List の Add メソッドなどのメソッドをラップしてブレークポイントで捕まえるテクニックです。

# 方法の概要

この方法では、既存の List にオブジェクトを追加する Add メソッド(あるいは同様の機能を持つメソッド)をカスタムラッパークラスで包みます。このラッパークラスでは、Add メソッドが呼び出された際に特定のアクションを実行することができ、デバッガーのブレークポイントを設定して実行時に停止させることが可能です。これにより、開発者はオブジェクトが List に追加される正確な時点を特定し、追加されるオブジェクトの状態を詳細に調査す

元記事を表示

[画像処理]バイキュービック補間法では画像はどう補間されるのか?

# はじめに
先日、画像の補間方法について記事を書いた。

https://qiita.com/sasshi_i/items/71189dc3a5c637fda3a4

本記事で紹介するバイキュービック補間法も画像を拡大、縮小、回転する時に利用できる補間法の1つである。バイキュービック補間法ではどのような処理が行われるのか解説していく。

# バイキュービック補間法とは?
バイキュービック補間法は、16個の画素値を用いて補間する画素の画素値を求める方法である。16個の画素の加重平均を基に補間する画素の画素値を求める。処理の流れを以下に示す。

## 処理の流れ
変換後の画像の座標$(x’, y’)$における画素値を求める手順は以下の通り。
1. 拡大率を$α$とした時、$(\frac{x’}{α}, \frac{y’}{α})$を求める
2. $(\frac{x’}{α}, \frac{y’}{α})$の整数部の座標の画素値を$Src(0,0)$とすると、$x$軸方向および$y$軸方向の-1~+2の範囲における16画素を得る
3. 周囲16画素それぞれと$(\frac{x’}{α},

元記事を表示

BlenderでカーボンナノチューブのCGをつくる

# 概要
BlenderとPythonでいい感じのカーボンナノチューブのCGをつくります.
Pythonの分子動力学シミュレーションライブラリ[ASE](https://wiki.fysik.dtu.dk/ase/)にはナノチューブの構造を作ってくれる素晴らしい関数が用意されています.さらに結合の情報を取得することもできるのであとは描画するだけ!

# コード
なんとナノチューブはこれだけでできてしまいます.
“`Python
from ase.build import nanotube
from ase.geometry.analysis import Analysis

def create_cnt(n, m, l):
cnt = nanotube(n, m, length=l)
cnt.pbc = [False, False, False]
“`
結合は少し厄介.
“`Python
# to retrieve bond information
ana = Analysis(cnt)
CCBonds = ana.get_bonds(‘

元記事を表示

カーボンナノチューブの電子状態密度をPythonで描画する

# 概要
皆さんカーボンナノチューブ(carbon nanotube, CNT)という物質はご存じでしょうか.
いろいろすごい物質です.
今回はカーボンナノチューブの大きな特徴である,ファンホーブ特異点(van Hove singularity)を持つ電子状態密度(density of state, DOS)を計算し描画していきます.

![6_5_CNT.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702367/52ff7826-5cc1-e08d-0f07-6642f48397d5.png)

# 理論
[前回の記事](https://qiita.com/PlusF/items/2b5208d7093dc524988f)でグラフェンのエネルギーバンドを計算し描画しました.それを使ってDOSを計算するのでまだ読んでいない方はぜひ.
コンテキストを端折ってしまいますが,単層CNTの電子の波動関数がとりうる波数ベクトルは限られており,カッティングラインと呼ばれる線分上のみとなる.単層CNTの分散関係

元記事を表示

グラフェンのエネルギーバンドをPythonで描画する

# 概要
炭素の六員環からなる二次元物質グラフェンは皆さまご存じでしょうか.
ノーベル賞もとったことがあるすごい物質です.
今回はそのグラフェンのエネルギーバンドをPython (matplotlib)で描画していきます.

![graphene.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702367/880e49b7-1b18-3642-f46a-92df08a90828.png)

# 理論
まず小難しい数式だけここにまとめておきます.
六方格子のような周期性を持つ構造においては,一般にブロッホの定理が成り立つ.

…ちょっと数式書くのめんどくさいので気が向いたら追記することとします.
解だけ置いておきます.
${E_{2g}(\vec{k}) = \frac{\epsilon_{2p}\pm t\omega(\vec{k})}{1\pm s\omega(\vec{k})}}, \omega(\vec{k}) = \sqrt{|e^{ik_xa/2\sqrt{3}}+2e^{-ik_xa/

元記事を表示

楕円の周長の求め方

## 楕円の周の長さの求め方

## 1. 理論などどうでもよいという場合

タイトルは不穏当だが,要するに,パッケージなりを使用して,簡単に答えを得たいという場合である。

ChatGPT3.5 に聞いてみると,「Julia には Elliptic に ellipke,Python には scipy.special に elliptic_perimeter_with_ellipkがあるよ」とご丁寧にもプログラムを添えて教えてくれた。

ただ,あとになってわかったが,あいも変わらず ChatGPT3.5 は不十分な答えを返してくれたのであった。
計算結果を見てのけぞった。別の計算手段から得られた数値よりずっと大きい値が返ってくる。

私の聞き方も悪かったのだが,最初は「第二種楕円積分を使って…」で,次に「第二種完全楕円積分を使って…」と聞くと,同じ関数を引数として離心率と離心率の二乗を使ったプログラム例を提示してきた。そして,どちらも結果が異なる。

更にあとになってわかったが,ChatGPT3.5 が答えたのは第一種楕円積分と第一種完全楕円積分の方だった。

Julia で

元記事を表示

シミュレーションの練習

https://paiza.jp/works/mondai/c_rank_level_up_problems/c_rank_simulation_step2

“`py
n = int(input())
a,b = map(int,input().split())
paiza_score = 1
kirijima_score = 1
cnt = 0

while n > kirijima_score:
#paiza_turn
kirijima_score = paiza_score * a
#kirijima_turn
paiza_score += kirijima_score % b
#turn_end
cnt += 1

print(cnt)

“`
これでいいかな?と思ったんですがだめでした。
じっくり問題読むと、つまりキリジマのスコアがnを超えたときってことなので
それはつまり、キリジマのスコアが動いた時に判定しなきゃ意味がないんですね。
だからwhileの条件判定じゃだめってこと。
だから

“`py
n = i

元記事を表示

【備忘録】PythonでMySQLのデータベースにデータを作成する方法

### 備考
Python:3.9
MySQL:8.0.31
動作環境:MacOS
開発環境:PyCharm

### 事前準備
データベース作成済み

https://qiita.com/ume1017da/items/feaad4d0dc35f15ca4ba

マイグレーション実行済み

https://qiita.com/ume1017da/items/ec76466f36fc707e5a56

### 1. PyCharmにて新規プロジェクトを作成する

### 2. プロジェクトを以下の構成になるようにファイルを作成する
“`フォルダ構成.
.
├── main.py
├── env.py
├── .env
├── requirements.txt
├── crud
│ ├── certification_crud.py
│ └── user_crud.py
├── database
│ ├── database.py
│ └── models.py
└── schema
└── user_schema.py
“`

### 3. requirements

元記事を表示

辞書

https://paiza.jp/works/mondai/c_rank_level_up_problems/c_rank_dictionary_boss

前回のケースからたぶん辞書と辞書を組み合わせればいいんだとは思ったけど
なかなか理解に骨が折れたのでコメントもつけつつ

“`py
p,q,r = map(int, input().split())
#A->B, B->Cの辞書を作成する
A_B = {}
for _ in range(p):
i, j = map(int,input().split())
A_B[i] = j

B_C = {}
for _ in range(q):
j, k = map(int,input().split())
B_C[j] = k

#上の2つを利用してA_Cの辞書を作成
#この場合iは1〜pまででOK
#A_B[i]の値がそのままB_C[j]の値になり、それがそのままA_C[i]に代入
#上のロジックをどう数式にすればいいかわからんかった
A_C = {}
for i in range(1, p +

元記事を表示

Stable DiffusionのWeb APIを用いて写真的素材をイラストに変換してみた

[Supership](https://supership.jp/)の名畑です。TVアニメ[マッシュル-MASHLE-](https://mashle.pw/)の2期の[OP](https://www.youtube.com/watch?v=210R0ozmLwg)が海外でバズっているという噂は聞いていたけれど、公開一月足らずでYouTubeの動画が2000万再生を超えていてびっくりしました。

## はじめに

画像生成モデルである[Stable Diffusion](https://ja.stability.ai/stable-diffusion)ではテキストからの画像生成(**text-to-image**)だけではなく、画像を元にした画像生成(**image-to-image**)もございます。

今回の記事では**Python**で[stability.aiのAPI](https://api.stability.ai/docs)を呼び出すことで「**写真を元にしたイラスト生成**」を行なっています。

目新しい試みではないというか、私の過去記事「[Stable Diffusi

元記事を表示

OTHERカテゴリの最新記事