Python3関連のことを調べてみた2022年08月22日

Python3関連のことを調べてみた2022年08月22日

『読書好きな方必読』自分の好きな「作家」や「シリーズ本」の新刊情報のスクレイピング

> 毎月、大変な量の新刊が発売されるので、「自分の好みの作家」や「シリーズ物」の新刊の状況を確認できるようにしたいと思い作成しました。

##### DATAは『TRC新刊図書オープンデータ(図書館流通センター)』をからスクレイピングで取得し加工してます。
![スクリーンショット 2022-08-22 10.28.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634708/8f6f716d-03b2-e954-472e-2d7863ebfa5f.png)
##### Terminalの表示例
![IMG_6603.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634708/028584a4-6ee3-40bf-9188-6642ccd4b6ce.png)
##### Numbersの表示例
![スクリーンショット 2022-08-22 10.29.06.png](https://qiita-image-store.

元記事を表示

Pythonのフォーマッタをblackに移行してみたので色々所感をまとめてみる

最近以下の個人開発のPythonライブラリでフォーマッタをautopep8からblackに移行したので雑多に所感などをまとめておきます。

https://github.com/simon-ritchie/apysc

# blackとは

– Python界隈でこの記事執筆時点で一番スターの付いているPythonのフォーマッタライブラリです(執筆時点でGitHubのスターが約3万)。
– Pandasやscikit-learnなどのPython界隈の有名ライブラリ含め、非常に多くのリポジトリで使用されています(記事執筆時点でGitHub上のUsed byの表示が約17000リポジトリ)。
– 色を混ぜて別の色にできない黒色のごとく、基本的にスタイルの調整が効きにくくなっているのと調整せずに使うのが基本となっているようです。
– 融通が効かない代わりにプロジェクトごとにスタイルが異なっていたりといったことを避けられたり、最初のスタイルを決めたりする手間を省くことができます。つまり各プロジェクトでスタイルが統一されるためblackに慣れていればblack採用プロジェクトでは違和感

元記事を表示

DjangoでBootstrapを導入する

# 1. はじめに
今回はDjangoにBootstapを導入する方法を紹介します。
また、Bootstap導入後に前回の「[DjangoのWebアプリケーションにユーザ認証を追加する(django-allauth)](https://qiita.com/t-shirayama/items/11d022d78ea3c5623c80)」で作成したログイン画面に適用していきます。

# 2. django-bootstrap5をインストール
pipでdjango-bootstrap5をインストールします。
“`
pip install django-bootstrap5
“`

# 3. settings.pyの変更
settings.pyのINSTALLED_APPSにdjango_bootstrap5を追加します。
“`
INSTALLED_APPS = [

‘django_bootstrap5’, # 追加
]
“`

# 4. テンプレートに適用
テンプレートの先頭行に下記のコードを追加します。
“`
{% load django_bootstra

元記事を表示

Codeforces Round #816 (Div. 2) のA, B, C問題をPython3を使って解く

## 初めに
こんにちは。この記事では先日(2022/08/20)に行われたCodeforces Round #816 (Div. 2)のA, B, C問題の解説をPython3を用いてしていきます。Codeforcesは解説がAtCoderほど十分にないこと、そもそもPythonを使って解いている人も少ないことから、自身の解法とコードを共有しようと考えました。解説はコンテスト中に解けた問題+1問のみとしています。宜しくお願いします。

### コンテストへのリンク
[Codeforces](https://codeforces.com/) \
[Round #816 (Div. 2)](https://codeforces.com/contest/1715)

– [初めに](#初めに)
– [コンテストへのリンク](#コンテストへのリンク)
– [Problem A Crossmarket](#problem-a-crossmarket)
– [問題文](#問題文)
– [入力](#入力)
– [出力](#出力)
– [解法](#解法)
– [ACコード](

元記事を表示

[0から始めるQISKIT#3-1]量子プログラミングで必要な量子計算を説明してみる (要追記)

$$
\def\bra#1{\mathinner{\left\langle{#1}\right|}}
\def\ket#1{\mathinner{\left|{#1}\right\rangle}}
\def\braket#1#2{\mathinner{\left\langle{#1}\middle|#2\right\rangle}}
$$
# 概要
量子プログラミングはざっくりと以下の手順で計算を解く認識です。
##### 手計算→実装→実装結果と手計算の結果をすり合わせる。
なので自分の復習のためにどのような計算を行うか記述してみました。

また自分の持っている入門書では数式が優しく書かれているが、細かい計算の仕方が足りないなと感じる部分もあったため取り組んでみました。

# 量子回路
前回使用した回路で使われる計算を書いてみる
https://qiita.com/Y10-JP/items/7f826277d95b422f281c
“`Sample.py
from qiskit import QuantumCircuit
import matplotlib.pyplot as pl

元記事を表示

【日曜大工】pythonでスロットマシンを開発した話。

色々な実行基盤での実行効率やスピード(メモリー消費量や処理速度)を調べています。
(例えば、JSの実行環境としては、Googleクラウドが最速と言われておりますね。)
そんな訳なので、Java、Python,JS,R等で色々と負荷の掛かるプログラムを作って、パフォーマンス分析をしております。
そんな作業の一環として、スロットマシンゲームを作りました。
尚、このサイトを大いに参考にしました。
https://camp.trainocate.co.jp/magazine/java-game/

下記のリールが3列あるスロットです。
“`
REEL_MARK_LIST = (‘7’, ‘BAR’, ‘?’, ‘?’, ‘Reply’,’♢’,’♢’, ‘Reply’, ‘?’,’Reply’,’♢’,’Reply’,’?’)
“`
1ゲームが、1枚ずつのBetです。
777が大当たりで、120枚のコイン払出。BAR並びなら30枚払出とかです。
尚、1リールは、13個絵柄があるので、トリプル7が揃う確率は、1/13**3=1/2197 となります。
これを、自分で何枚のコインで勝負するか

元記事を表示

Webカメラで猫を検出したときにLINEに画像を送る

# 目的
### Webカメラで猫を検出したときにLINEにメッセージとして画像を送るようにすること

# 前提条件
このシステムを構築したときの条件について
## システム構成
開発用PC
Line ⇐ RaspberryPi4 ⇐ Web Camera

## 環境
### 開発用PC
Ubuntu18.04
Python3

### Raspberry Pi4 ModelB
microSD 128GB
Ubuntu18.04
Python3

# コーディング
必要なライブラリをインポートする

“`Python:
import cv2
import requests
import os
“`

Lineに送るための初期設定をする

“`Python:
def init():
url = “https://notify-api.line.me/api/notify”
access_token = ‘トークン’ #取得したトークンを入力
headers = {‘Authorization’: ‘Bearer ‘ + access_token}
“`

元記事を表示

discord.py 2.0.0ついにリリース

2022/8/18、12時ごろ、ついに[discord.pyのバージョン2.0.0](https://pypi.org/project/discord.py/)がリリースされました。
# 主な変更点
# `pip install discord.py[speed]`
というのができたらしい?

## `app_commands`の追加
スラッシュコマンドのこと。
これは僕の前の記事や、他の記事もいろいろ出ているのでググればわかる。

## `cog`の非同期化
`client.load_extension`や`client.add_cog`が非同期になった。
`on_ready`の実行時に`await client.add_cog`とする。
## `Intents`の必須化
`client=discord.Client()`に`intents=Intents.なんか=True`として`intents=intents`とする。
## `discord.ui.View`
主に、ボタンやセレクトメニュー、テキストインプットの実装。
これもさまざまな記事が書かれているので省く。
## `Co

元記事を表示

データクレンジングを行っていこう!顧客名の変更と日付の変更

# 1.今回用いるデータ

私はpythonでとても重要なデータクレンジングについて、様々な記事を書いております。
その中で今回用いるのは

『データクレンジングを行ってみよう!価格変更偏』の1番にあるデータを使っていきます。
良かったらダウンロードしてみてください。それではいきます

## 2.データの読み込み
“`Python
import pandas as pd

kokyaku_data = pd.read_excel(“kokyaku_daicho.xlsx”)
“`
kokyaku_dataは人が入力していると思われるので、とても汚いデータとなっております。
顧客名については、半角の空欄があったり全角の空欄があったり
登録日については、記述がばらばらであったりします
今回は、その2つをきれいにクレンジングしていきましょう。
“`Python
kokyaku_data

顧客名 かな 地域 メールアドレス 登録日
0 須賀ひとみ すが ひとみ H市 suga_hitomi@example.com 2018/01/04
1 岡田  敏也 おかだ としや E市 okad

元記事を表示

データクレンジングを行ってみよう!価格変更偏

# 1.価格データを一括で変更したい

今回は、https://www.shuwasystem.co.jp/support/7980html/5875.htmlでダウンロードできるデータを扱っていきます。

これは、『実践データ分析100本ノック』という本のサンプルコードになっております。本を見ながらみるととても分かりやすいと思うので、是非手に取ってみてください。
(ステマではありません!(笑))

## 2.データの読み込みや問題点の抽出
では、この中の第二章に入っている
uriage.csvを取り出していきます。

“`Python
import pandas as pd
uriage_data = pd.read_csv(“uriage.csv”)
uriage_data.head()
“`
“`
purchase_date item_name item_price customer_name
0 2019-06-13 18:02:34 商品A 100.0 深井菜々美
1 2019-07-13 13:05:29 商 品 S NaN 浅田賢二
2 2019-05-11 19:

元記事を表示

リストの中のリスト??めっちゃリスト??

この記事は、岩手県八幡平市のプログラミング教室「アクセルキャンプ」の公開教材です。
[アクセルキャンプ(フリースペースプラウド)のリンク](https://freespaceproud.com)
教材の作成依頼等も承っております。ご意見等は、リンク先の問い合わせ欄からお願いします。
教材の転用・利用等は自由です。

# 「リストの中のリストってのはよ、俺見たいなリストを言うんだぜ」
とかって意味ではないです。意味わかんないですよね。まあ、リッキー先生はイケメンの中のイケメンってよく言われますが、それってただイケメンってだけだよね、といつも心のなかで思っています。

# リストの復習
リストは複数のデータをひとまとめにして、変数名をつけたものでしたね。こんな感じのやつです。
“`python3
ricky = [“イケメン”, “天才”, “やさしい”]
“`

リッキー先生の100くらいあるいいところを3つの項目に絞って書いたわけですが、ちょっとシンプルすぎるので、それぞれの要素を深掘りしたいです。単純に
“`python3
ricky = [“かっこいい

元記事を表示

非エンジニアのPython忘備録的ブログ

# Pythonメモ

:::note info
pythonの基本的なコード知識
等のメモをここに残します。
:::

## 小文字大文字への変換
“`Python:main.py
#各小文字大文字への変換
s = “String”
#全て小文字にする
print(s.lower())
#全て大文字にする
print(s.upper())
“`

“`:結果
string
SRTING
“`

## リストの簡単な考え方のループ例
### 例 以下の入力を番号小さい順に並び替えて出力
※一番最初の入力値は下に出てくる入力値の行数

“` :入力値
3
2 ITO
11 KATO
21 MUTO
“`
“` :main.py
#空の配列Aを作成
A = []
#最初の行、すなわちその下にある入力値の行数取得
n = int(input())
#n-1回、以下の処理を繰り返す
for i in range(n):
#配列Aの一番後ろに入力値(行ごと)を追加
A.append(input().split(” “))

for j in range(n):#n-1回、

元記事を表示

[0から始めるQISKIT#2]Pycharmで量子回路を表示させてみる

# 概要
PycharmでQISKITを学習していく
今回は簡単な量子回路を実際に表示させてみる
# 学習書籍
IBM Quantumで学ぶ量子コンピュータ
著者 湊 雄一郎 (著),比嘉 恵一朗 (著),永井 隆太郎 (著),加藤 拓己 (著)
# 端末
何年前のかわからないMacBookAir(メモリ4GB)
# やったこと
学習書籍P66に掲載されているコードを実装し、実行してみる
“`Sample.py
from qiskit import QuantumCircuit
import matplotlib.pyplot as plt

qc = QuantumCircuit(2)

qc.h(0)
qc.cx(0, 1)

qc.draw(‘mpl’)
“`
# 問題
このまま実行しても、回路図が表示されなかった…
ログを見る限り実行には成功していそう
##### 実行ログ
“`
/Users/******/PycharmProjects/QISKITPractice/virtual/bin/python /Users/******/PycharmProjects/Q

元記事を表示

Discord.py 2.0 がリリースされたようです

> やったー!

どうもbeatbox4108です。
今日の日本時間12:50分、discord.pyのdiscordサーバーにてバージョン2.0のリリースが発表されました!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/672153/5caa5d48-c1da-5548-a6ba-a71059a85eef.png)

一応discordの全文を翻訳して掲載します。
– – –
> v2 が PyPI でリリースされました!
> ## お詫び
> まず、このリリースを出すのに時間がかかったことをお詫びしたいと思います。残念なことに、IRL で慌ただしく忙しくなってしまったのです。v2をもっと早くリリースするつもりだったのですが(7月頃、あるいはそれ以前かもしれません)、改築や仕事、そして全体的に忙しい生活関連の事柄に巻き込まれたのです。それに加えて、他の参加者も自分のことで忙しかったり、新しい仕事を見つけたり、ただ単に仕事が忙しかったりしました。
>
> それでも、このリリースを気に入

元記事を表示

初心者向け Pythonプログラミング基礎 #2

# 目的
プログラム言語の一つであるPythonの使い方の基礎を学ぶ.
今回は文字列の扱いについて.

また,特に指定がない場合下記のようにプログラムの実行結果を示す.

“`
>>>この部分は実行結果を表示
“`

# 数値と文字列

Pythonでは数値と文字列は別のものとして,認識される.
数値の場合,四則演算など数値同士の演算ができるのに対して,
文字列は連結することのみ可能.

“`.py
a = 123 #数値の123
b = ‘123’ #文字列の123

c = 1
d = ‘1’

a + c
>>> 124

b + d
>>> ‘1231’
“`

数値は数値同士の演算,文字列は文字列同士の演算でなければ,エラーが発生する.数値と文字列は関数を使用することで,変換できる.

“`.py
a = 123 #数値の123
b = ‘123’ #文字列の123

str(a) #数値を文字列に変換
>>> ‘123’

int(b) #文字列をint型に変換
>>> 123

float(b) #文字列を単精度小数点に変換
>>> 123.0
“`

# 文

元記事を表示

seabornヒートマップの数値表示の四捨五入対処

# 概要
seabornでヒートマップを作る際に、セル内の数値表示が自動的に四捨五入されるらしい。
それによって、相関係数が1になるセルが大量に出てしまうことがあったので、対処した。

# 基本
以下のようなデータを用意する。
“`python:seaborn.py
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame({‘A’: range(10),
‘B’: [x**2 for x in range(10)],
‘C’: [x**3 for x in range(10)],
‘D’: [0, 2, 3, 4, 5, 6, 7, 8, 9, 10]})
# A B C D
# 0 0 0 0 0
# 1 1 1 1 2
# 2 2 4 8 3
# 3 3 9 27

元記事を表示

Codeforces Round #814 (Div. 2)のA, B, C問題をPythonで解く

## 初めに
こんにちは。この記事では先日(2022/08/16)行われたCodeforces Round #814 (Div. 2)のA, B, C問題の解説をPython3を用いてしていきます。Codeforcesは解説がAtCoderほど十分にないこと、そもそもPythonを使って解いている人も少ないことから、自身の解法とコードを共有しようと考えました。解説はコンテスト中に解けた問題+1問のみとしています。宜しくお願いします。

### コンテストへのリンク
[Codeforces](https://codeforces.com/) \
[Round #814 (Div. 2)](https://codeforces.com/contest/1719)

– [初めに](#初めに)
– [コンテストへのリンク](#コンテストへのリンク)
– [Problem A Chip game](#problem-a-chip-game)
– [問題文](#問題文)
– [入力](#入力)
– [出力](#出力)
– [解法](#解法)
– [ACコード](#acコー

元記事を表示

0から始めるQISKIT#1 PycharmでQISKITを動作させるための環境構築を行う

# 概要
PycharmでQISKITを動作させるための環境構築を行う
# なぜやるのか?
QISKITの環境はJupyter Notebookを使っている記事が多く見える。
それでもPycharmでやってみたかった…
# 端末
何年まえのかわからないMacBookAir(メモリ4GB)
# 手順
QISKITの手順を調べると、しなくてはいけないことが仮装環境の作成とパッケージのインストールだったので、それぞれの手順をここに書いていく
## 1.PycharmでPythonプロジェクトを作る
ここに関しては割愛
## 2.仮想環境を作る
まずはメニューバーからPycharm→preferenceをクリック
![スクリーンショット 2022-08-18 0.23.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1785809/f2ac1a92-556b-372c-5cc0-1c797b4a9dc2.png)
プロジェクト:プロジェクト名を選択し、Pythonインタープリターを選択
![687474

元記事を表示

Python: ジェネレーターで素因数分解してみた

[こちらの記事](https://qiita.com/ikiuo/items/f24952423be044a071e4)で へえ素因数分解ってこんな風にやるんだ って勉強になったものの、途中から理解力/集中力が枯渇してきて早々に読むのをあきらめ、自分だったらどうするかな?という体で書いてみました。

“`py:
from math import sqrt

# 素数の候補を返すジェネレーター
def primables():
yield 2
yield 3
yield 5
n = 7
while True:
yield n
n += 4
yield n
n += 2

# 素因数分解し、基数と乗数のペアを返すジェネレーター
def factors(n):
limit = sqrt(n)
base_gen = primables()

while n != 1 :
base = next(base_gen)
expone

元記事を表示

【Python】6ケタの英数字が5ケタになってしまう問題をシミュレート

## 概要
職場でこんなトラブルに遭遇しました。
「英数字6ケタのパスワードが、5ケタで生成されており、エラーになった」

Pythonを使って、このエラーを再現してみました。

## 原因

「英数字6ケタ」で大量にランダム生成されたパスワード文字列のうち、ひとつだけ「数字のみ5ケタ」になっていました。
“012345”のように、先頭が0・残りが数字で生成されたため、Excelファイルでやりとりする際に先頭のゼロが省略されて”12345″になったようです。
(なんでmkpasswdのオプションで指定しないの…)

## 発生確率

この事象が起きる確率を計算してみます。

まず、ある1ケタの取りうる値は、[0-9, a-z]なので、10+26=36種類です。
つまり、0になる確率は、1/36。
一方、数字0-9になる確率は、10/36です。

今回の事象は、先頭1ケタが0・残りの5ケタが数字になる時なので、
(1/36) * (10/36) * (10/36) * (10/36) * (10/36) * (10/36)
= 0.0000459393658… となります。

パーセン

元記事を表示

OTHERカテゴリの最新記事