- 1. B – 1 21
- 2. B – Coins
- 2.0.1. Python が削除された macOS 12.3 以降で Python 環境をパッケージングする
- 2.0.2. AOJトライに関する知識知見の記録共有:ITP2_11_D
- 2.0.3. Pythonで特定ディレクトリ内の特定文字列を含むファイルを列挙する
- 2.0.4. Python3でのビルトインローカルサーバ
- 2.0.5. OpenCV(Python)で手のひらの面積を算出する
- 2.0.6. 猫と犬の判別ツールを改良してみました
- 2.0.7. optparse.py がエラーを吐く
- 2.0.8. 【SQLAlchemy】PythonでQueryデータベースから取得,【CRUD】
- 2.0.9. Numpyを使ったロジスティック回帰の実装
- 2.0.10. ランダウアー理論の再帰グリーン関数法でデバイスの電気特性を計算しよう
- 2.0.11. 簡単なPySimpleGUI①~二次方程式の解の公式~
- 2.0.12. pyenvを使ってEC2(Amazon Linux 2)にpython3.9.10をインストールする。
- 2.0.13. 【初心者】Pythonデコレータとは?を分かりやすく解説
- 2.0.14. spreadsheet API KeyError: ‘access_token’
- 2.0.15. “localhost”をやめて…というお話…
- 2.0.16. 【pythonメモ】回数指定のfor文(for .. in range)の使い方
- 2.0.17. kivyMDチュートリアル其の肆什陸 Behaviors – Magic篇
- 2.0.18. コロナ第6波東京:簡易実行再生産数(Rt)を使ったピークアウト動的予測
4 つの単語を覚えるだけで Wordle で必ず勝てる
# Wordleとは?
フィードバックを頼りに、隠された 5 文字の英単語を当てるゲームです。
要は「マスターマインド」や「ヌメロン」等と呼ばれるゲームの英単語版です。知らない方でも以下のような奇妙なツイートは目にしたことがあるかもしれません。
![スクリーンショット 2022-01-29 19.53.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123809/c2650482-269b-3b99-b792-283a59cca814.png)# 目的
**「順番に入力していくだけで解が 1 つに定まるような英単語の組」**が存在するかを Python を用いて検証していきます。
もしそのような組が存在すれば、ソルバーを使わず人力で Wordle を攻略できることになります。
先にネタバレしておくと、
– **4 回入力するだけで解が平均 1.1 個まで絞られ、
– 96% 以上の確率で 5 回目で正答でき、
– 6 回以内には確実に正答できる**
ような 4 つの英単語があることが
超初心者がAtcoder ProblemsのB問題を86から96まで解いてみる件【10割自分用】
解き方を忘れないためにまとめてるだけなのでコードはめちゃくちゃ不細工です、ここもっと良くできるよって場所あったら教えていただけるとありがたいです!!
B – 1 21
https://atcoder.jp/contests/abc086/tasks/abc086_b
“`python:practice.py
a,b = input().split()
num = a+b
if (int(num)**0.5).is_integer():
print(“Yes”)
else:
print(“No”)
“`数字を0.5乗してルートを乗っけるのと同じことをして、もし平方数だったら、integer型になるのでis_integer()で判定する
B – Coins
https://atcoder.jp/contests/abc087/tasks/abc087_b
“`python:practice.py
a = int(input())
b = int(input())
c = int(input())
x = int(input
Python が削除された macOS 12.3 以降で Python 環境をパッケージングする
現時点(2022/02/01)では,macOS の最新版は macOS Monterey 12.2 ですが,次期 macOS アップデートの 12.3 では,macOS の Python 環境に大きな変化がもたらされることになりました。
* [ニュース](https://eclecticlight.co/2022/01/29/looking-ahead-to-macos-12-3-python-dropbox-and-onedrive-changes/)
これは,[2019年に予告されていた「スクリプト環境の粛正」](https://developer.apple.com/documentation/macos-release-notes/macos-catalina-10_15-release-notes)がいよいよ始まったのでしょう。
> * Scripting language runtimes such as **Python**, **Ruby**, and **Perl** are included in macOS for compatibility with le
AOJトライに関する知識知見の記録共有:ITP2_11_D
# タスク概要
Enumeration of Combinations
https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP2_11_D
# コード実装例
TIPS1. 例外処理含む評価パターンを追加
“`Python
import pprint, sys, time
import itertoolsdef agg(lst):
return sum([2**v for v in lst])def core(arg, adv=True, n_ret=10):
ret = []
n = arg[0]
k = arg[1] if len(arg) > 1 else int(n/2)if adv:
ret = sorted([[agg(array), array] for array in itertools.combinations(range(n), k)],
key=lambda x: x[0]
Pythonで特定ディレクトリ内の特定文字列を含むファイルを列挙する
表題の通り,pythonで特定ディレクトリ内の任意の深さにあるファイルを列挙するプログラムを書きました.
実行例は以下の通りです.
“`shell
# pathはホームディレクトリを起点として考えています.
$ python3 find.py –word “word to search!!!” –path target_directory
“`コードは以下の通りです.
“`python:find.py
import os
from argparse import ArgumentParser
from typing import Tupledef _is_word_in_file(word: str, file: str) -> bool:
with open(file, ‘r’) as f:
for line in f:
if word in line:
return True
else:
return Falsedef _get_a
Python3でのビルトインローカルサーバ
ローカルサーバ。やっぱあると便利だよね
## すぐ忘れるのでメモ
“`bash
python3 -m http.server
“`
OpenCV(Python)で手のひらの面積を算出する
# OpenCV
“`
pip install opencv-python
“`# 手順の概要
**1.方眼の上で手のひらの画像を撮る**
**2.方眼の部分だけを残しトリミング**
**3.OpenCVで読み込んでグレースケール・二値化(python)**
**4.二値化した画像で手のひらの輪郭を探索(python)**
**5.「手のひらのピクセル数」と「全体のピクセル数」の比により面積を算出(python)**# 1.2.画像取得とトリミング
取得した画像
![S__13139991.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601935/1d26dd7a-cd7d-eef3-1786-28548411f58c.jpeg)
トリミング後
![S__13139993.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601935/abc39679-13fc-e001-4d27-ce6dae875038.j
猫と犬の判別ツールを改良してみました
#目的
画像判別の精度向上#ステップ(目次)
<1>公開されている画像判別で精度が低いものをピックアップ
<2>現状の精度確認
<3>改良の方向性案を検討
<4>コード変更による改良
<5>転用学習を利用した改良
<6>サンプル評価#公開されている画像判別で精度が低いものをピックアップ
“`py
# This Python 3 environment comes with many helpful analytics libraries installed
# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python
# For example, here’s several helpful packages to load
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_cs
optparse.py がエラーを吐く
# 症状
python3 が絡むほとんどの処理で optparse.py がエラーを吐いて困った。e.g.: apt, command-not-found, pip3
# エラー内容
“`
$ hoge
Traceback (most recent call last):
File “/usr/lib/command-not-found”, line 25, in
from optparse import OptionParser
File “/usr/lib/python3.8/optparse.py”, line 1
nt to [a-zA-Z0-9_]
^
SyntaxError: invalid syntax
“`# 調査
/usr/lib/command-not-found は python3 で書かれている。
“`
$ file /usr/lib/command-not-found
/usr/lib/command-not-found: Python script, ASCII text exec
【SQLAlchemy】PythonでQueryデータベースから取得,【CRUD】
SQLAlchemyはPythonでよくつかわれるORマッパー。DjangoのORマッパーは使ってたけどSQLAlchemyは最近よく使うようになったのでDBからのデータ取得やCRUDなどをまとめます。
![SQLAlchemy.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260345/cfc38b0e-eb25-0730-875d-2722b25cafc3.jpeg)
以前の関連記事。Flaskで Flask SQLAlchemyを使ったDBデータ取得、作成、更新、削除を行ってます。
https://qiita.com/Bashi50/items/e3459ca2a4661ce5dac6
Djangoで同じような記事書いてたので一応リンク載せます。
https://qiita.com/Bashi50/items/9e1d62c4159f065b662b
今回のSQLAlchemyとはORMと言うだけであまり関係ないですが、Django ORMでもSQLAlchemyでもどちらかできれば
Numpyを使ったロジスティック回帰の実装
# ロジスティック回帰の概要
線形分離可能なデータの境界線を学習によって見つけ、データの分類を行う手法である。
境界線が直線となるため、二値分類などクラスの少ないデータに用いられる。
# クラス判別の流れ
$m$個の特徴量を持つある1つのデータ$x=[x_1, …, x_m]$に、重み$w=[w_1, …, w_m]$を掛けた値“`math
w_1 x_1 + w_2 x_2 + … + w_m x_m = \sum_{i=1}^m w_i x_i
“`
を計算して、さらにバイアス$b$を加算すると、これらの総和$u$は“`math
u = b + w_1 x_1 + w_2 x_2 + … + w_m x_m
“`
となる。
$b=w_0 x_0$(特徴量$x_0=1$で固定)と置くと、“`math
u = w_0 x_0 + w_1 x_1 + w_2 x_2 + … + w_m x_m = \boldsymbol{wx}
“`
という行列式で表現できる。
総和$u$にシグモイド関数$σ$を適用して、値を$0$から$1$の確率値に変換す
ランダウアー理論の再帰グリーン関数法でデバイスの電気特性を計算しよう
ナノエレクトロニクスなどの分野では複数の素材が接合されていたり、様々な端子がくっついていたり、あるいはデバイスの形状が電気特性に与える影響を考えることもある。こうした状況でデバイスの電気特性をシミュレーションするやり方がランダウアー・ビュティカー理論である。今回は再帰グリーン関数法を利用して計算するやり方を紹介したい。
この記事では物理学専攻の学部3年終了時点程度の知識を前提とする。
#ランダウアー・ビュティカー理論
まず考えるシチュエーションを説明する。
![system_landauer.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2445529/8d9e962e-34d8-4d83-d535-dbe9eca0a8a4.png)考えるデバイスは図の緑で囲んだ部分であり、ハミルトニアン$H_c$で表現される。$H_C$は$N$個のサイトが1列に並んだものであり、それぞれのサイトはハミルトニアン$H_{i}$で表され(各$H_i$のサイズや中身はバラバラでもよい)、$V_{i,i+1}$で
簡単なPySimpleGUI①~二次方程式の解の公式~
PysimpleGUIの使い方メモとして、二次方程式の解を「解の公式」で求めるGUIを作成しました。
# この記事で扱う要素
**入力**
・数値入力ボックス(sg.InputText)
・ボタン (sg.Button, sg.B)**出力**
・画面出力 (window[‘hoge’].update(‘hogehoge’))# コード
“`Python:Code
import PySimpleGUI as sgdef main():
layout = [[sg.Text(“解の公式GUI”, size=(15, 1), justification=’center’, font=(“Helvetica”, 20), relief=sg.RELIEF_RIDGE)],
[sg.T(“ax^2+bx+c=0”, size=(15, 1), justification=’center’)],
[sg.Text(‘a :’), sg.InputText(“1”, key=’a’, size=(25, 1
pyenvを使ってEC2(Amazon Linux 2)にpython3.9.10をインストールする。
#はじめに
最近AWSについて勉強中で、EC2環境にDjangoアプリをデプロイしようと思っているので、備忘で記載します。
( 初投稿? )
#Python3.9.10 インストール
###1. pyenvのインストール
基本的に[pyenvの公式サイト(?)](https://github.com/pyenv/pyenv#understanding-path)のReadMeに従えば良い気がする。
**pvenv**とは、Pythonのバージョン管理を行えるツールのこと。まずはpyenvをクローンする。
※gitが入っていない場合は、gitのインストールが必要。(“$ yum install git“でインストールできる。)“`sh
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
“`続いて、pyenvのパスを通す。(実際のコマンドは、[pyenvの公式サイト(?)](https://github.com/pyenv/pyenv#understanding-path)からコピぺした方が良いかも。)
`
【初心者】Pythonデコレータとは?を分かりやすく解説
# 初心者にはわかりにくいデコレータ
頭に`@ooo`つけるやつ。初心者だと聞いたことあるけど、なんか処理を付け足せるらしいくらいしかわかっていないと思うので解説。
初心者勉強用の資料に書きます。![python_logo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260345/b516902a-fcfe-dee6-cc91-da228c5aa53a.png)
デコレータとは名前の通り、デコレーションする者ってこと。
まずは超簡単な関数を準備。“`deco1.py
def deco1():
print(‘テストです’)deco1()
“`“`
$ deco1.py
テストです
“`これは解説するまでもないですね。
## 事前知識: 関数もオブジェクト
Pythonの関数って実はオブジェクト。intとかstr型みたいに変数に代入することもできるし、引数として渡すこともできます。“`sample.py
def sample():
print(‘さんぷ
spreadsheet API KeyError: ‘access_token’
pythonでspreadsheetを操作するものを作成中にエラーが出た
遭遇したエラー
“`
KeyError Traceback (most recent call last)
~\anaconda3\lib\site-packages\google\oauth2\_client.py in jwt_grant(request, token_uri, assertion)
195 try:
–> 196 access_token = response_data[“access_token”]
197 except KeyError as caught_exc:KeyError: ‘access_token’
“`<解決>
変更前“`
SCOPES = [
‘https://spreadsheets.com/feeds’,
‘https://www.googleapis.com/auth/drive’,
]
SERVICE_ACCO
“localhost”をやめて…というお話…
# 今すぐ、”localhost”をやめよう!
`localhost`は時にとって、開発時の妨げになる。
これはサンプルコードで、例を投稿したり、マニュアルなどで使われたりする付属する厄介者のお話だ。例えば、ここにはあるサンプルコードを使って簡易的なサーバーを立てて欲しい。
参考例: [WebSockets](https://fastapi.tiangolo.com/advanced/websockets/) – by.FastAPI
実行時は、`uvicorn main:app –host 0.0.0.0 –reload `としてサーバーを起動してみよう。“`
from typing import Listfrom fastapi import FastAPI, WebSocket, WebSocketDisconnect
from fastapi.responses import HTMLResponseapp = FastAPI()
html = “””
【pythonメモ】回数指定のfor文(for .. in range)の使い方
#1.はじめに
様々なプログラミング言語で使われるforループ。
pythonでは回数指定のforが3種類ある。
今更だけど、どうにも使いずらいので自分用のメモとしてまとめてみた。#2.実行環境
OS:windows10
Python 3.8.10(jupyter notebook上で実行)
PHPはpaiza.ioで実行#3.for .. in range
###`パターン1)for 繰り返し変数 in range(N1)`
N1:指定回数
指定回数だけある処理を実行したい場合使える。“`python
for i in range(5):
print(“Loto6”)
“`
“`:出力結果
Loto6
Loto6
Loto6
Loto6
Loto6
“`
ただし繰り返し変数も利用したい場合は、その値は__0~N1-1__となることに注意が必要になる。“`python
for i in range (5):
print(“Loto6トライ:”+str(i)+”回目”)
“`“`:出力結果
Loto6トライ:0回目
Loto6トライ:1回目
kivyMDチュートリアル其の肆什陸 Behaviors – Magic篇
ハロー、Qiita!いかがお過ごしでしょうか。
もうはや1ヶ月が過ぎようとしていますね。このままだと年末までもういくつ
数えると状態になってしまいそうです。(意味不明)今週は目立ったニュースなどはありませんでしたが、最近、Twitterで技術
トレンドが多く載るような気がしてなりません。今週とかだとMacに関する
Linux/Unixの話題なんかがありましたし、TypeScriptの話題なんかも
あったような。。もう技術者がそこら中にいらっしゃるのか、非技術者が技術トレンドを扱う
ようになったのか、、街歩くとこの人もフロント技術者、あの人はバック
エンド技術者とかなっているのでしょうか。そういうスカウターがあれば
またそれもトレンドになるのだろうなー。はい、余談も過ぎてはいますが、いつものごとくKivyMDのことをやって
いきます。今週はというと、タイトルにもある通りMagic篇となります。
ではさっそく、レッツラゴ。## Magic
冒頭では一言で説明がありますね。ここにも掲載をしておきます。
> Magical effects for buttons.
これ
コロナ第6波東京:簡易実行再生産数(Rt)を使ったピークアウト動的予測
# 初めに
全国的にコロナの第6波が襲来中ですが、コロナの波については、簡易実行再生産数(Rt)、勾配、新規陽性者数の中で、Rtが最も早くピークアウトすることが経験的に分かっています。Rtがピークアウトした後は、Rtの日次減衰率の値から、将来の新規養成者数のピーク日と最大新規陽性者数の予測値を計算することができます。この方法を用いて、東京のピークアウトを予測してみます。
##### 簡易実行再生産数(Rt)とは
https://www.niid.go.jp/niid/ja/diseases/ka/corona-virus/2019-ncov/2502-idsc/iasr-in/10465-496d04.html“`{python}
import os
import numpy as np
import pandas as pd
import random
import seaborn as sns
import datetime as datetime
import matplotlib.dates as dates
import matplotlib.pyplot as plt