- 1. よいグラフ001
- 2. 駄目グラフ004
- 3. 【備忘録】PythonでMySQLにデータベースを新規作成する方法
- 4. Paiza様の問題集の課題をPython3解いてみました
- 5. python.おかしな時間
- 6. Tkinterでグラフを表示したい!
- 7. Python3 標準モジュールだけで feed 取得
- 8. 【Lambda】Python requestsを利用する方法
- 9. ループメニュー問題を解いていく1
- 10. 【langchain】RAGの目視評価を軽めにしたいときのスクリプト
- 11. 指定のイオンを含むかどうかの判定ログ
- 12. 抽選ツール⑤
- 13. pythonでゲームを作る
- 14. 積の最小化
- 15. タイルの敷き詰め
- 16. Python製のシンプルなゲーム開発用フレームワークを作った
- 17. 抽選ツール④
- 18. 【2024年】Pythonの学習にオススメ技術書TOP5
- 19. 元素間距離のヒストグラム描画ログ
- 20. pythonの辞書型メモ
よいグラフ001
データの大きさを図形(たとえば円)のサイズで指定するとき,
– データの大きさを直径の大きさで表す
– データの大きさを面積で表す後者に従うべし。以下の図は面積がデータの大きさを表している。たいへんよくできました。
多分同じ人が作った問題だろう。### 地理A
![地理A5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/28dff0fa-ecad-5dbd-60e4-db8a610186af.png)### 地理A
![地理A2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/ba5bfb6e-a4e2-c095-683c-e9ba98e63f28.png)### 地理A
![地理A4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/3cd59f76-9cc8-6b6d-73d4
駄目グラフ004
## 共通テスト一日目
円グラフが不適切なグラフであることと知らない人(かくも多き)が試験問題を作る…
それを見て育つ?受験生…なお,円グラフのかわりとして推奨される帯グラフをちゃんと使っている問題も多く見られた。
### 英語リスニング
![英語リスニング.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/5c0c6ca2-5c24-dc9d-22e0-f99fe37fa905.png)
### 世界史B
![世界史B.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/48a85d85-e53a-042e-3b3a-2284b1a97f77.png)
### 日本史B
![日本史B.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/a2e8fe6d-73ed-db26-d2d0-55
【備忘録】PythonでMySQLにデータベースを新規作成する方法
今回はPythonでMySQLのDBを新規作成する方法についてまとめました。
備考:
Python:3.9
MySQL:8.0.31
動作環境:MacOS
開発環境:PyCharmモジュール:
mysql
mysql-connector-python
python-dotenv### 1. PyCharmにて新規プロジェクトを作成する
### 2. プロジェクト直下にcreate_new_database.py / env.py / .env / requirements.txtを作成する
“`フォルダ構成.
.
├── main.py
├── create_new_database.py
├── env.py
├── .env
└── requirements.txt“`
### 3. requirements.txtファイルを以下の内容にする
“`requirements.txt
mysql
mysql-connector-python
python-dotenv
“`### 4. ターミナルにてコマンドを入力してモジュ
Paiza様の問題集の課題をPython3解いてみました
>***自然数 H, W, A, B が与えられます。縦に H 行、横に W 行で計 H * W 個の (A, B) という形式で文字列を出力してください。ただし、横は | (半角スペース 2 つとバーティカルライン) 区切りで、縦は = で区切って出力してください。また、縦の文字列間で = を出力する際は、その上の行と文字数がそろうように出力します。また、A と B は 9 けたになるように半角スペースを数値の前(右詰め)に埋めて出力してください。***
というpaiza様の問題集をPython3で実装しました。
実装したコードは下記です。“`Python3
values = input().split()
H = int(values[0])
W = int(values[1])
A = int(values[2])
B = int(values[3])for i in range(H):
for j in range(W):
print(f”({A:>9}, {B:>9})”, end=””)
if j == W – 1:
python.おかしな時間
“`python
import math
import datetime
import msvcrt
timer0_timup_bol = bool(0)timer0_interval_in=2000
timer0_interval = 1000
timer0_interval_hafe=1000
if timer0_interval_in>1000:
timer0_interval = timer0_interval_intimer0_interval_hafe = int(math.floor(timer0_interval / 2))
bol_stato_tim = bool(0)
bol_hafe_time0 = bool(0)
count=0
my_over_bol = bool(0)
bol_set_time0 =bool(0)
my_count_tim =0
my_count_tim_sub = 0
while True:now = datetime.datetime.now()
formatted_now = now.strftim
Tkinterでグラフを表示したい!
# はじめに
pyVISAの記事で、「LabVI*Wの代わりになる!」というようなことを書いていました。https://qiita.com/YujiMatsu/items/8e0437b33555647b0fc4
ただ、LabV*EWのいいところって、GUI上にグラフを用意して、測定値データをリアルタイムで確認できたりするところにあるんですよね。。。
そこで、Pythonで利用できる`Tkinter`を使って、測定値のデータをGUI上にリアルタイムで表示するプログラムの書き方を考えてみました。
こんな風に出力されるGUIを書いてみます。
# 環境
– python3.9.7
– MacOS 14.2.1
※ Windowsでも動くとは思います。# 計測値データを作成
計測器が周りに無かったので(泣)、データを
Python3 標準モジュールだけで feed 取得
## 目標
Qiita の Feed から、直近の投稿記事のタイトル、URL、日付を取得する。それを、Python 標準モジュールだけで (つまり pip を使うことなく) 実現する。
URL 例: `https://qiita.com/aKuad/feed`
## 要素技術
### Feed 取得
HTTP GET リクエストして、body を受け取りたいです。そこで `urllib` が使えます。
“`py
from urllib.request import urlopenfeed = urlopen(“https://qiita.com/aKuad/feed”)
feed_text = feed.read().decode(“utf-8”)print(feed_text)
“`:::note warn
ちなみに[公式リファレンスでは](https://docs.python.org/ja/3/library/urllib.request.html#module-urllib.request)、より高水準なインターフェースとして、pip から入れられる
【Lambda】Python requestsを利用する方法
## Lambda import requestsでエラーとなる
Lambdaはpythonのrequestsをデフォルトでは使えません。
Content-Typeがmultipart/form-dataの場合、requests以外で処理すると、コードが長くなるので、対応方法を探していました。
application/jsonの場合は、urllib.requestを用いた対応でも良いかと思いますが、
想像よりも簡単に使えるようにできたので、下記ぜひ試してみてください!## 参考文献
https://qiita.com/katzueno/items/3bbd9609daa6e06bcbb1https://qiita.com/afukuma/items/b7191025700a7829967c
上記の内容参考に、自分用へのまとめ直し、補足情報の追加を行いました。
## 対応方法
### ローカルでrequestsライブラリをzip化
ディレクトリを作成し、そこにrequestsライブラリをダウンロードを行います。
そのディレクトリの中身をzip化します。
“`bash:loc
ループメニュー問題を解いていく1
https://paiza.jp/works/mondai/loop_problems/loop_problems__print_num_step1
python
“`py
for i in range(10):
print(i+1)
“`
PHPは仕方ないけど行数多くなってしまうな“`php
“`
じゃ次https://paiza.jp/works/mondai/loop_problems/loop_problems__print_num_step2
python
“`py
for i in range(int(input())):
print(i+1)
“`
PHPだと、pythonのように直接入れ込む、ということはできないようです。
つまり下の`$i<=$N`の部分を`$i<=fgets(STDIN)`のようにはできないようです。 何故か調べてますがなかなかそれらしきものは見つからず。 仕方ないのでこ
【langchain】RAGの目視評価を軽めにしたいときのスクリプト
# 概要
100個以下くらいの想定質問のRAG出力を取得して、目視評価をするためのスクリプトの覚書です。# 環境
langchainのバージョンは0.0.331です。最近0.1が登場したので、もうじきlegacyになるかもしれません。v0.1対応のチュートリアルは以下にあります。
https://api.python.langchain.com/en/latest/chains/langchain.chains.retrieval_qa.base.RetrievalQA.html#langchain.chains.retrieval_qa.base.RetrievalQA# 実装
## VectorStoreRetrieverの作成“`Python
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.vectorstores import FAISS
from langchain.vectorstores.utils import DistanceStrategyembeddi
指定のイオンを含むかどうかの判定ログ
+ ホスホニウムイオン
“`terminal
time python3 get_PH4_contained_pos_folder_p_list.py
“`
len(P_H_existed_poscar_folder_path_list): 39122
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 39122/39122 [08:24<00:00, 77.56it/s] len(ion_contained_poscar_folder_path_list)/len(P_H_existed_poscar_folder_path_list) :0/39122 real 8m27.516s user 32m4.673s sys 3m12.822s + テトラクロロアルミン酸イオン ```terminal time python3 get_AlCl4_containe
抽選ツール⑤
***抽選ツール***を改良し、最初から配列に抽選対象者とお題を定義して、配列をランダムに並び替え、抽選者のお題を発表するよう、抽選ツールを改良しました。
“`python3
####################################################
### お題抽選ツール
###
#####################################################ランダムモジュールを呼び出す
import random
# エクセルへの書き込みモジュールを呼び出す
import openpyxl
# 関連付けられたアプリケーションでファイルを開くモジュールを呼び出す
import subprocess
# 非同期処理用モジュールを呼び出す
import asyncio
# タイムモジュールを呼び出す
import time
# システムモジュールを呼び出す
import sys#配列を定義する
array1 = [“大園玲”,”小坂菜緒”,”正源司陽子”,”守屋麗奈”,”佐々木久美”,”山下瞳月”,”佐々木美玲”,”
pythonでゲームを作る
pythonでゲームを作っていきたいと思います。
今回使うのは”pygame”を使っていきたいと思います
# pygameの使い方
## 1.install
まずインストールしなければなりません。ダウンロードするには`pip install pygame`
を使います。
## 2.とりあいずウィンドウを作る
ウィンドウを作る方法を教えます
“`python:system.py
import pygame
pygame.init()
screen = pygame.display.set_mode((800,600))
pygame.display.set_caption(“game”)
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
“`
この.pyを起動するとこうなるはずです。![スクリーンショット 2024-01-11 163521.png](https://qiita-image-s
積の最小化
https://paiza.jp/works/mondai/conditions_branch/conditions_branch__complex_boss
前回の問題を教訓に
どちらかが0の場合は問答無用に0が最小になるので
こんな感じで書いてみました。
つまり、最初の数値を基準に、小さくなったらそれを採用するみたいな感じですね。
で、A~Bの間をループさせると。負の数が含まれていても結局あんまり関係ないなということで
こうなりました。“`py
A,B = map(int,input().split())
result = 0
for i in range(A,B+1):
for j in range(A,B+1):
if A == 0 or B == 0:
break
if result == 0:
result = i * j
elif result > i * j:
result = i * jprint(result)
“`
でも解答の場合は、もうちょっとロ
タイルの敷き詰め
https://paiza.jp/works/mondai/conditions_branch/conditions_branch__complex_step8
“`py
H,W = map(int,input().split())
if H > 0 and W > 0:
if H % 2 == 0 and W % 2 == 0:
print(‘YES’)
else:
print(‘NO’)
else:
print(‘NO’)“`
最初は最初のif文なかったんだけど、
テストケースでHやWが0だったときにこれだめなんですよね。
で最初のif文を付け加えたら正解になりました。ちなみに、上のは入れ子になってますが、最初のif文を逆にしたらelseがいらなくなります。
(ということに今気づいた)
ただし、この場合、andだとだめでorにしないとどちらかが0の場合にNoにならないです。“`py
H,W = map(int,input().split())
if H == 0 or W == 0:
Python製のシンプルなゲーム開発用フレームワークを作った
## 崩壊しないシステマティックなゲーム開発がしたい
ということで、Python 製のミニマルなゲーム開発用フレームワーク Pigframe を作りました。
![Pigframe](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1419783/064ce5c7-8f76-acdb-f096-e29ff6ee7863.jpeg)https://github.com/passive-radio/pigframe
主には、Pygame, Pyxel などの Python 製のゲーム開発エンジンを使ってゲームを開発したいと思っている、開発を始めた個人開発者・学習者向けになります。
依存している外部ライブラリはありません。
自分がゲーム開発で使っている/使いたい Pygame や Pyxel などの開発エンジンと併せて使うことを主な用途として想定しています。#### ◼ 一体全体なにができるの?
Pigframe は以下のよう
抽選ツール④
**抽選ツール**に結果待ちの間に演出メッセージの処理を並列に動かす非同期処理を実装しました。
“`python3
###################################################
### お題抽選ツール
#####################################################ランダムモジュールを呼び出す
import random
import openpyxl
import subprocess
import asyncio
import time#配列を定義する
array1 = []
array2 = []
#人数変数
N = 0
#エクセルファイルのファイル名変数
out_file = “prezen1.xlsx”
wb = openpyxl.load_workbook(out_file)
#書き込むワークシートを定義する
ws = wb[‘select’]
#行数の定義
start_row = 3
# 待ち時間変数
sleep_time = 10# 非同期処理で10秒待つ
asyn
【2024年】Pythonの学習にオススメ技術書TOP5
# [ChatGPTと学ぶPython入門 「Python×AI」で誰でも最速でプログラミングを習得できる!](https://amzn.to/3TVGxmS)
[![画像タイトル](https://m.media-amazon.com/images/I/81-4Xhe52HL._SL1500_.jpg)](https://amzn.to/3TVGxmS)
**「Python×AI」で誰でもあっという間にプログラムを作れるようになる!
世界一やさしいPython入門書!**「Pythonの構造をしっかり理解した上でコード作成をAI(ChatGPT)にサポートしてもらう」というコンセプトのPythonプログラミング入門書が新登場!
プログラミングに必要な基礎をしっかり身につけつつ、プロンプトプログラミングのスキルも手に入れ、自動であっという間にコード作成ができるようなる、1冊で2つのスキルを学ぶことができるお得な書籍。
もちろん「AIに全てお任せ」ではなく、はじめてプログラミングを学ぶ人に向けて基本をしっかり押さえ、スタンダードな知識も同時に身につけられる内容になっています。
元素間距離のヒストグラム描画ログ
## 目的:閾値の決定
結晶構造において,元素が結合を作る結合距離の最大値(閾値)を見積もる.
その際,ここで描く元素間距離のヒストグラムと,[1]を参考に決定する.[1] スマート,L.・E.ムーア 著,河本 邦仁・平尾 一之 訳,入門 固体化学,化学同人(1996)
## 目標
ある元素間の距離を取得し,ヒストグラムとして描画する.## 手順
## 作成済み一覧
+ C-O
+ N-H
+ P-H
+ Al-Cl
+ B-F
+ B-H
+ Br-O
+ Cl-O
+ C-N
+ I-O
+ N-O
+ Mn-O
+ O-H
+ S-O
+ Se-O## 実行ログ
“`terminal
pwd
/mnt/ssd_elecom_c2c_960gb/scripts/plot_PH_dist_histgraml
PH_dist_1d_list.npy* figure/ plot_PH_dist_list.py*
Untitled.ipynb*
pythonの辞書型メモ
## 元素記号と元素名(英語)
+ 原子番号順
+ 希ガスは除く
+ 原子番号53番まで“`python
elements = {
“H”: “Hydrogen”,
“Li”: “Lithium”,
“Be”: “Beryllium”,
“B”: “Boron”,
“C”: “Carbon”,
“N”: “Nitrogen”,
“O”: “Oxygen”,
“F”: “Fluorine”,
“Na”: “Sodium”,
“Mg”: “Magnesium”,
“Al”: “Aluminium”,
“Si”: “Silicon”,
“P”: “Phosphorus”,
“S”: “Sulfur”,
“Cl”: “Chlorine”,
“K”: “Potassium”,
“Ca”: “Calcium”,
“Sc”: “Scandium”,
“Ti”: “Titanium”,
“V”: “Vanadium”,
“Cr”