- 0.0.1. paizaでのレーディングチェック(python3)【1724】
- 0.0.2. Pythonを使用したAzure Functionsでサードパーティー製のライブラリ導入方法
- 0.0.3. QRコードを生成したり読んだりしてみた
- 0.0.4. 炭酸イオンかどうかの判定アルゴリズムの作成(ログ)
- 0.0.5. 部分配列 Python3編
- 0.0.6. 配列の要素の入れ替え Python3編
- 0.0.7. はじめてのデータコンペを振り返ってデータ分析するのにまず何をすればいいのかまとめてみた
- 0.0.8. 【Python】「__main.py__」とは何か?このファイルから他のモジュールを実行する方法
- 0.0.9. Pythonのデコレーター(例:Flaskにおける`@app.route`の`@`)
- 0.0.10. 【Python】「if __name__ == ‘__main__’:」ブロックの意味とは?スクリプト実行とモジュール読み込み
- 0.0.11. Python のリストってやつは…
- 0.0.12. LangChainでChatGPTの返答をストリーミングレスポンスでSlackに返却する
- 0.0.13. 何番目にある? 1 Python3編
- 0.0.14. それ,numpy で書かない?–3–
- 0.0.15. 「あぁ、そうか 家で(サーバー負荷考えないで)ネットラジオ流すなら家で HLS にさせちゃえばいいんだ!」と思い”(今のところ)最低限の機能”だけ実装した話
- 0.0.16. Python 掲示板 などの参考資料
- 1. test decoder3
paizaでのレーディングチェック(python3)【1724】
先月ぐらいからpaizaでレーディングチェックをしてきましたがこの辺りが今の限界かな。。
python3
![paiza.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638856/fa74764e-f7c3-8666-99f6-4ace0ecfaa6f.jpeg)
・Aランクの感想と気を付ける点
数学的、情報理論的基礎知識がちゃんと必要
やることさえ思いつけばコードは書けないことはないが
引き出しが少ないのでその思いつくが難しい
自分の数学知識は中学レベルも怪しいのでどうしても長考してしまうのと制限時間があるなかだとどうしてもあせっていい案が思い浮かばない
再挑戦で1週間ぐらい長考した問題もあった(やる気が少ないのもあるけど)タイムアウトさせないため、効率的な処理をさせるためにどうするかとか
再帰関数を使用しているならちゃんと無限ループに陥らないようにするとか・B,Cランク
やってやれないことはないけど
早解きが苦手、あとケアレミスが多い
例えば配列の中を2個づつ3個づつ見ていくみたいな処理
Pythonを使用したAzure Functionsでサードパーティー製のライブラリ導入方法
# かけた時間の割にとてもシンプルだったので共有
まず、Pythonを使用したAzure Functionsの作成方法はMicrosoftのドキュメントを参照。
https://learn.microsoft.com/ja-jp/azure/azure-functions/create-first-function-vs-code-python
次に、生成されたファイルの **「requirements.txt」** の中に導入したいサードパーティー製のライブラリの名前を記載するだけ。
例:numpy と scikit-learn を追加
“`requirements.txt
# DO NOT include azure-functions-worker in this file
# The Python Worker is managed by Azure Functions platform
# Manually managing azure-functions-worker may cause unexpected issuesazure-functions
num
QRコードを生成したり読んだりしてみた
# はじめに
こんにちは、チョコレートの入っているアドベントカレンダーを12/1に完食したさこもなです!# Wifi?Bluetooth? いいえ、カメラです
私がとある電子工作をしていた時、データを Raspberry Pi に送りたかったのですが、ラズパイにはカメラを接続していたので、それを活用できないかと考え、QRコードを利用することに決めました。# QRコードについて
日常において、QRコードを見ないことはないのではしょうか。
そんなQRコードと聞いたら、皆さんは何を連想しますか?
一般的には「URL」を取得するイメージが強いと思います。
だがしかし!実はURL以外にもテキスト形式など様々なデータを設定することができるのです。今回その際にQRコードの読み取りにつまづいたので、それをここにメモしていこうと思います。
ちなみに、QRコードに埋め込める情報量は、バイナリだと約3000バイトほどだそうです( -`ω-)✧
# Raspberry Pi でQRコードを読み取ってみる
サンプル用のQRコードを生成には「[QRのススメ](https://qr.quel.
炭酸イオンかどうかの判定アルゴリズムの作成(ログ)
## 目標
POSCARファイルから,炭酸イオンを含むどうかを判定するアルゴリズムを作成する.## 前準備
0-1.元素種C, Oを含むPOSCARファイルから,POSCAR.nnlistを作成し,CとOの結合距離の分布図を描く.
0-2.1.より炭酸イオンのCO間の結合距離の最大値を推定する.## 結合探索アルゴリズム
1.POSCARファイルが元素種C, Oを含む
2.POSCAR.nnlistにおいて,原子Cから0-2.のCO結合距離以内に,原子Oを3つ以上含む,中心原子Cが存在する.
####### 条件1:原子Cから原子Oに対して,結合手がちょうど3本生えているか? #######
3.2.の中心原子Cに対して,
1番近い原子がOであり,かつ2番目に近い原子もOであり,かつ3番目に近い原子もOである,中心原子Cが存在する.
4.2.の中心原子Cに対して,4番目に近い原子が
存在しない場合 → 条件1をクリア.
存在する場合 → 5.に進む.
5.2.の中心原子Cに対して4番目に近い原子が,0-2.で推定されるCO間結合の最大値より大きい.
→ 条件1をクリア.
部分配列 Python3編
https://paiza.jp/works/mondai/array_primer/array_primer__partical_array
私が書いたのはこれ
“`py
A,B,N = map(int,input().split())
S = list(map(int,input().split()))
for i in range(len(S)):
if i + 1 >= A and i + 1 <= B: print(S[i]) ``` ただ、rangeだと範囲指定ができるのでforループの部分を 下記のようにしてもよい どっちかと言うと下がいいかも ただ`range`関数の癖には注意かも ```py for i in range(A-1,B): print(S[i]) ```
配列の要素の入れ替え Python3編
https://paiza.jp/works/mondai/array_primer/array_primer__array_elm_change
私が書いたのはこれ
“`py
A,B,N = map(int,input().split())
S = list(map(int,input().split()))
for i in range(len(S)):
if i + 1== A:
tmp = S[B-1]
S[B-1] = S[A-1]
S[A-1] = tmp
breakfor i in S:
print(i)“`
でもよく考えたら、
べつにif文なくてもそのまま変えたらいいだけだった。。。
答え見てわかってしまったorz
はじめてのデータコンペを振り返ってデータ分析するのにまず何をすればいいのかまとめてみた
## この記事の内容
この記事では私自身の体験について「データ分析ってなにそれおいしいの」から
「データ分析やったことあります」になるまでの過程を振り返っています。その過程を著し読んで頂くことによって
データ分析を始めてみたい人へのとっかかりをつくることを目的としています。そのため技術的な紹介は控えめに、データ分析ってどんな流れでやるのだろうか
ということを想起させることを主眼において書いています。気軽な読み物として読んでいただいて
データ分析を始めることのサポートになればうれしいです。
#### 想定対象読者
・データ分析をやったことがない、これから始めようとしている人
・データ分析コンペに参加してみようと思っている人#### 想定読了時間
3分(流し見でOK)
## 準備
#### 実行環境として必要なもの
データ分析をするのに特別なものは不要です。
今これをみているPCがあれば最低限のデータ分析はできます。
会社のPCで実行するときは各企業のルール申請に則った手続きをしまし
【Python】「__main.py__」とは何か?このファイルから他のモジュールを実行する方法
# 概要
前回、`if __name__ == ‘__main__’:`ブロックについて解説しました。
[【Python】「if __name__ == ‘__main__’:」ブロックの意味とは?スクリプト実行とモジュール読み込み](https://qiita.com/Ryo-0131/items/68b3eaff7f0653457437)この`__main__`に似た概念として、`__main__.py`という特別なファイルがあるので、これも一緒に整理してみました。
## 前提
ディレクトリ構造は以下の通りです。
“`
my_package
├── __init__.py
├── __main__.py
└── module_example.py
“``__main__.py`のコードは以下の通りです。
“`__main__.py
def main():
print(“ここから始まるよ!!”)if __name__ == “__main__”:
main()
“`上記の`if __name__ == “__main__”:`って何し
Pythonのデコレーター(例:Flaskにおける`@app.route`の`@`)
# 1. デコレータの基本
デコレータは、他の関数を引数として受け取り、それを「ラップ」する新しい関数を返す関数です。この「ラップ」された関数は、元の関数に何らかの追加機能を提供します。### ネスティングされた関数(クロージャ)
Pythonでは、関数内で別の関数を定義することができます。この内側の関数は、外側の関数のローカル変数にアクセスできるため、クロージャとして機能します。デコレータでは、このネスティングされた関数(通常「wrapper」と呼ばれる)が、元の関数をラップして追加機能を提供します。
### デコレータの文法表現
デコレータを使用する際、`@`記号の後にデコレータ名を記述し、それをデコレートされる関数の定義の直前に置きます。この記法は、デコレータ関数を呼び出して返された「ラップ」された関数を、元の関数に適用するシンタックスシュガーです。
たとえば、以下のようにデコレータを使用します:
“`python
@my_decorator
def my_function():
…
“`これは以下のようなコードの短縮形です:
“`pytho
【Python】「if __name__ == ‘__main__’:」ブロックの意味とは?スクリプト実行とモジュール読み込み
# 概要
Pythonのコードで`if __name__ == ‘__main__’:`というIF文をたまに見かけますよね。Djangoなら`manage.py`で見ます。これってどういう挙動なんだ?って思ったのでサンプルコードで作って確認してみました。
## サンプルコード
“`module_example.py
def say_hello():
print(“もちろんこれも直接実行の時だよ!”)print(“これはいつでも表示されるぞ!”)
if __name__ == ‘__main__’:
print(“これは直接実行される時だけ表示されるよ!”)
say_hello()def sample_function():
print(__name__)
sample_function()
“`## スクリプト実行とモジュールとしての読み込みとは?
上記のスクリプトを実行すると以下が出力されます。
“`
python3 module_example.py
“`↓
“`
これはいつでも表示されるぞ!
これは
Python のリストってやつは…
# Python のリストについて,残念に思うこと。
### sum はできるのに…
リストについて,まともな操作は殆どできない。
“`python
my_list = list(range(1, 100001))
“`sum(), min(), max() ができるのは,信じられないくらい稀有なこと。
“`python
sum(my_list)
“`5000050000
mean(), std() そのほか,できるものがない。
“`python
mean(my_list)
“`—————————————————————————
NameError Traceback (most recent call last)
Cell In[4], line 1
—-> 1 mean(my_list)NameError: nam
LangChainでChatGPTの返答をストリーミングレスポンスでSlackに返却する
1. Slack Botにメンションしてメッセージを送る
1. まず、「Typing…」とスレッドに返信が来る
1. ストレーミングレスポンスで徐々に返信が更新されていく“`
import os
import re
import time
from typing import Anyfrom dotenv import load_dotenv
from slack_bolt import App
from slack_bolt.adapter.socket_mode import SocketModeHandler
from langchain.chat_models import ChatOpenAI
from langchain.callbacks.base import BaseCallbackHandler
from langchain.schema import LLMResultCHAT_UPDATE_INTERVAL_SEC = 0.4
load_dotenv()
# ボットトークンを使ってアプリを初期化
app = App(
signing
何番目にある? 1 Python3編
https://paiza.jp/works/mondai/array_primer/array_primer__search_i-th_step1
短くするなら
“`py
A =[1,10,2,9,3,8,4,7,5,6]
print(A.index(8)+1)
“`
ただ、この練習を活かすには“`py
A =[1,10,2,9,3,8,4,7,5,6]
for i in range(len(A)):
if A[i] == 8:
print(i+1)
“`
それ,numpy で書かない?–3–
## それ,numpy で書かない?–3–
Python ではリストがよく使われる。また,for ループが遅いのでリストに特化したリスト内包表記も推奨されることが多い。
それなりの根拠があるからではあるが…
課題:エラトステネスの篩を使って $n$ 以下の素数のリストを得る。
“`python
from time import time
import numpy as np
import matplotlib.pyplot as pltn = 100000
trial = 500
“`以下のプログラムは,この次に示す numpy によるプログラムをリストを使うように書換えたものである。
“`python
def sieve1(n):
tbl = [True] * (n + 1)
tbl[0:2] = [False, False]
for i in range(2, n + 1):
if tbl[i]:
for j in range(i * i, n + 1, i):
「あぁ、そうか 家で(サーバー負荷考えないで)ネットラジオ流すなら家で HLS にさせちゃえばいいんだ!」と思い”(今のところ)最低限の機能”だけ実装した話
# はじめに
## ????「ちょっと何言ってるかわからない」
複数の端末を持っていると台数制限とかサーバーの負荷とか考えないで聴く方法を考えたらそうなりました。## もうちょっと詳しく
複数の端末でいろんな配信プラットフォームのアプリがあると~~使ってない間に非使用アプリとして再度ダウンロードしなきゃいけないのとか~~イラッとしませんか? そういうのが嫌だったので作ってみることにしました。
~~あと「[Heart FM](http://heartfm.jp/) さんが開局して([ジェイムス・ヘイブンス](https://www.facebook.com/jameshavensdj/)さんや[ピストン西沢](https://www.youtube.com/@djPiston2438)さんの番組を)録音する環境を再整備しなきゃ」と思ったのも大きいかなぁと。~~## ちなみに
発想は「[burrocargado/RadioRelayServer](https://github.com/burrocargado/RadioRelayServer)」のソースを見て「こういう感じだったら
Python 掲示板 などの参考資料
一応、まとめて記録として。
pyton は起動時に-X utf8 を付けると使えるようになるから
“`Python
#!C:/Python3/python_3_12_0_embed_amd64/python -X utf8
# coding=utf-8print (‘Content-type:text/html’+’\n’+’\n’)
print (‘pyton_v3 test decoder3
‘+’\n’)
print (‘日本語を話せる、システムです。「This is a system that allows you to speak Japanese.」
\n’)
print (‘カンニングペーパー「コピペオンライン英和翻訳 『Multilingal Online Translation』」はMicrosoftストアーで。
\n’)
【matplotlib】Pythonで学術論文クオリティの散布図を作ろう
# 0. はじめに
今回は化学の学術論文で使用できるレベルのグラフを Python のモジュールの一つである Matplotlib を用いて作成します.
グラフによって使う設定が異なるので,初回は最も基本的な散布図を対象に説明します.## 本記事で学べること
– Python, Matplotlib を用いた散布図の作成手法
– 検量線の作成に必要な基礎的な単回帰分析の手法
– Matplotlib の散布図に関する関数や引数の知識
– 学術論文に使用するグラフの要件と作り方## 対象とする読者
– 基本的な Linux の操作, Python3 の文法が分かる人
– Matplotlib で学術論文クオリティの図が書きたい人
– 有料のソフトウェアを使わないことに快感を憶える人
– Matplotlib の公式リファレンス[^1]を読むのは大変という人## 対象としない読者
– りぬっくす?ぴちょん?なにそれ美味しいの?という人
– 色鮮やかで見栄えの良いグラフを描きたい人
– 商用ソフトウェアで満足できる人
– Matplotlib の公式リファレンス[^1]を読みこな
それ,numpy で書かない?– 2 —
## それ,numpy で書かない?
Python ではリストがよく使われる。また,for ループが遅いのでリストに特化したリスト内包表記も推奨されることが多い。
それなりの根拠があるからではあるが…
課題:[[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]] のような二重リストを作る。
[n×n, 2] の二重リストを trial 回作成し,処理時間の平均値と標準偏差を記録する。
“`Python
from statistics import mean, stdev
from time import time
n = 1000
trial = 100
“`
### 二重の for ループと append()“`Python
def for_loop(n):
start = time()
list1 = []
for y in range(n):
for x in range(n):
list1.app
それ,numpy で書かない?– 1 —
## それ,numpy で書かない?
Python ではリストがよく使われる。また,for ループが遅いのでリストに特化したリスト内包表記も推奨されることが多い。
それなりの根拠があるからではあるが…
課題:$n$ 個の整数を要素とするリストが 2 対ある。対応する要素が等しいものと等しくないものの個数を求めよ。
テストデータとして以下のような,0 ~ 999 の整数要素からなる,2 個のリストを作る。
“`python
from time import time
import random
n = 10000000
random.seed(123)
expected = [random.randint(0, 999) for _ in range(n)]
predicted = [random.randint(0, 999) for _ in range(n)]
“`for を使うとたしかに遅い。
“`python
s = time()
correct = 0.0
wrong = 0.0
for i in range(n):
if expecte
pygameを使って、簡単なインベーダーゲームを作成&自己紹介
# 自己紹介
初めまして!
現在、プログラマーを目指して勉強中の大学生である「kazuma」と申します!
出身は静岡県で、現在は文系学部の大学に所属しています!
趣味:ゲームをすること。筋トレなどの一人で体を動かすこと。読書
最近興味のあること:プログラミングを勉強すること。漫画アプリで漫画を読むこと。マガポケで読める「私のアリカ」はオススメです!まだまだプログラミング初心者ですが、これから学習をしていき、いずれ自身の制作物を開発したいと思っています!今後ともよろしくお願いいたします:bow:
## 投稿のきっかけ
最近、技育CAMP勉強会に参加し、そこで情報発信が大事なのかということを知りました。
なので初心者とはいえど、発信していきたいと思ったため、今回は自己紹介&動画を参照しながら制作した「インベーダーゲーム」の紹介をしたいと思いました。今後はどうなるか未定ですが、何かしら投稿していきたいと思っています!# 制作したゲームの主な内容
#### ソースコードや使用した画像ファイルなどは以下のGithubを参照してみてください
(本当にすみません:cry:ソースコードのp