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

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

【Python】”和え麺” 屋さんの券売機のボタンが “油そば” だった事件

## 概要

タイトルのとおりです。券売機を前にとまどいを隠せなかったです。
そんなやりきれない思いを、Pythonで再現してみました。

## コード

“`python
# 2022/08/02 “和え麺” 屋さんの券売機のボタンが “油そば” だった事件

okane = 1000
menus = {“油そば”:750, “鶏ラーメン”:800, “塩ラーメン”:800}

def show_menu():
print(“=====おしながき=====”)
for menu in menus:
print(” {}:{}円”.format(menu,menus[menu]))
print(“=====================\n”)

show_menu()

while True:
want = input(“何を食べる? >>>”)
if want == “”:
pass
elif want in menus.keys():
print(want + “を注文した!”)

元記事を表示

Homebrewでpython3系の最新をインストールする方法

Homebrewでpython3系の最新版をインストールする方法を説明します。

5分もあれば終わる作業でした?

:::note warn
Homebrewがインストールされていることが前提となります
:::

## そもそもHomebrewとは・・・
Homebrew(ホームブルー)は、macOS(またはLinux)用パッケージマネージャーにです。

インストール方法や、基本的な使い方はこちらに記載していますので、まだインストールしていないという方やどう使うか分からないという方は是非一度ご覧ください!

## Python3系のインストール
当記事の執筆時点で、Python3系の最新版はPython@3.9になりますので、Python@3.9をインストールしていきます。

“`bash
% brew search python@3
==> Formulae
boost-python3 python@3.7 python@3.9 bpython cython
python@3.8 ipython jython
“`

元記事を表示

pipでSeleniumをインストールしてブラウザを自動操作しよう!

Seleniumは、ブラウザ自動化を可能にするツール群・ライブラリ群のプロジェクトです。

今回は、PythonでSeleniumを扱う想定で、Pythonのパッケージを管理するためのツールであるpipでSeleniumをインストールしていきます!

5分もあれば終わる作業でした?

:::note warn
Pythonとpipがインストールされていることが前提になります!
:::

## Pythonをインストールする方法はこちら

https://qiita.com/toranoko92114/items/08b287e54bdc36943375

## Seleniumをインストールする方法
こちらのコマンドを実行します!
“`bash
% pip3 install selenium
“`

“`bash
% pip3 install selenium
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work

元記事を表示

Lambda+API Gateway+SlackでNotionにタスクを追加

# 今回やったこと
・SlackのスラッシュコマンドでDMからNotionにタスクを追加できる機能を作成した
・ワークスペースにいるほかの人が勝手にタスクを登録できないようにユーザーIDで制限を付けた

# Notionとは
Notionとはメモやプロジェクト管理,タスク管理のためのオールインワンワークスペースのこと。
個人利用であれば無料で利用することができる。

今回は下の画像のような形式のタスクを追加するものを作成する ~~(プリパラはいいぞ)~~
![task.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269896/e0b90495-6f9a-b04b-41dd-ce6461b086c6.png)

# Notion側の設定
[[Notion] いま人気の Notion の API を試してみる](https://zenn.dev/utah/articles/da8239aca15335)
↑このページの流れで設定を行って、シークレットとデータベースIDをメモしておいてください。
データベー

元記事を表示

RM mini3用にリモコン信号を変換

下記のWebサイトにて、テレビやエアコンのリモコンデータが公開されているのでこのデータを元に、RM mini3用の信号データに変換を行う。
http://www.256byte.com/remocon/iremo_db.php

# ■MSB firstをLSB firstに変換
公開されているデータはMSB firstなので、LSB firstにスクリプトで変換する。
“`convLM.py
#!/usr/bin/env python3

import sys
import re

hex_s = sys.argv[1]
bin_n = bin(int(hex_s,16))

bin_l = len(bin_n[2:])
stn_l = 7 – ((bin_l-1) % 8) + bin_l

bin_zf_n = bin_n[2:].zfill(stn_l)
bin_r = re.split(‘(……..)’, bin_zf_n)[1::2]

l = list()
for b in bin_r:
rev_bin_n = ”.join(list(reversed

元記事を表示

2つの線分の交差判定(python)

## 背景
[問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本](https://gihyo.jp/book/2022/978-4-297-12521-9)の演習問題にて、2つの線分(4点が与えられたとき)の交差判定を行うプログラムを書いたので、今後の参考のためにまとめました。

– [対象の演習問題](https://atcoder.jp/contests/math-and-algorithm/tasks/math_and_algorithm_ah)

## この記事で説明しないこと
以下のサイトに「線分が交差するとは」といった説明やその判定条件についてまとめられているため、この記事では割愛いたします。

すごくざっくりとまとめると、以下です。
– 「交差する」とは、一方の線分を直線にしたとき、もう一方の線分が分断される、それが相互に成り立つか
– 領域を用いて条件の判定が可能。分断されているかは式の積が0未満かで判別できる。

“`math
y1 – ax1 -b < 0 \\ y2 - ax2 -b > 0 \\
(y1 – ax1 -b)(y2 – ax2

元記事を表示

Python日記#2

# Pythonのアルゴリズム
下記のプログラムは1以上N以下の整数のうち、十進法での各桁の和がA以上B以下であるもの総和を求める問題です。
入力の形
N A B
例.14 2 4 が入力された場合
45が出力される。

下記がコードになります。
“`python
def Sample3():
# 整数nの各桁の和を求める関数
def sum(n):
sum_1 = 0
while n > 0:
sum_1 += n % 10 # 10で割った余り
n //= 10
return sum_1
N, A, B = map(int, input().split())
result = 0
for i in range(1, N + 1):
if A <= sum(i) <= B: # A以上B以下 result += i print(result) Sample3() ``` 以上になります。

元記事を表示

SIGNATE StudentCup2022【予測部門】探索的データ分析(EDA)

この記事では、SIGNATE StudentCup2022Summerの[データサイエンティストの職種判別チャレンジ](https://signate.jp/competitions/724)の予測部門のデータについて探索的データ分析(Explanatory Data Analysis, EDA)を行います。

大まかに以下のことを行います。
* jobflagの内訳(Train)
* Train/Testの重複データ確認
* Train/Testデータの単語数比較
* Trainデータの職種別単語数比較
* 単語出現頻度分析
* 単語の出現に基づく職種の予測(ルールベース)

## import/初期設定
“`python
import numpy as np
import pandas as pd

import seaborn as sns
import matplotlib.pyplot as plt

import warnings
warnings.filterwarnings(“ignore”)

%matplotlib inline
sns.set_style(“wh

元記事を表示

GANの訓練ループでよく見るdetachは何をしている?

# どんな記事?

以下は[“Inside Deep Learning”](https://github.com/EdwardRaff/Inside-Deep-Learning/blob/main/Chapter_9.ipynb)という本に載っているGANの訓練ループの一部です.(見やすいように一部編集しています)

“`python
optimizerD = torch.optim.AdamW(D.parameters())
optimizerG = torch.optim.AdamW(G.parameters())

G_losses = []
D_losses = []

for epoch in tqdm(range(num_epochs)):
for data, class_label in tqdm(train_loader, leave=False):
real_data = data.to(device)
y_real = torch.full((batch_size,1), real_label, dtype=torch.fl

元記事を表示

AIの波に乗る為にアイデアを考えて、検討して、挫折するまでの経緯

# 1.概要

## 1-1.はじめに
 タイトルにもある通り、失敗談となる。
 右も左も分からないなりに4か月ほど進めてみた結果、頓挫となったアイデアについて、一部始終を思い出せるだけ書いてみることにした。
 備忘録を残すことで、次に似たようなことをする際に参考になればよいと思ったのと、アイデア供養のつもりである。

## 1-2.背景
 AIの時代と呼ばれてから久しい。
 波に乗り遅れているのは重々承知ではあったのだが、それでも、ITに携わっているものとしては、どこかのタイミングで知っておきたかった。
「AIに仕事を取られる」「シンギュラリティ以降、文化文明が変わる」予言を出す本は数多くあったし、
 現に「AIのべりすと」をはじめ、人工知能を用いた有益なサービスは形となっているし、
 そもそもGoogleやAmazon、Youtubeといった誰もが使っているサービスにはAIが関与している。
 どういったメカニズムか、どれだけ発展しているのか、向き不向きはどんなものか、敷居はどれだけ高いのか。自分が思い描いている人工知能は、実態とどれくらい離れているのか。
 初歩的な情報も含めて、

元記事を表示

Python3: Yahoo 郵便番号検索API の使い方

参考ページ
[郵便番号検索API](https://developer.yahoo.co.jp/webapi/map/openlocalplatform/v1/zipcodesearch.html)

“`py:get_address.py
#! /usr/bin/python
#
# get_address.py
#
# Jul/31/2022
#
# ——————————————————————
import sys
import os
import json
import requests
from dotenv import load_dotenv
# ——————————————————————
sys.stderr.write(“*** 開始 ***\n”)
#
dotenv_path = ‘.env’
load_dotenv(dotenv_path)
APPID = os.env

元記事を表示

Python Beautiful Soupでパースで文字化けしたときに読む記事

# 結論

:::note
BeatutifulSoupの第一引数に、requests.getのレスポンスをresponse.text、response.encodingでエンコーディングして文字列型で指定すると文字化けになることがある。文字化けを回避するには、response.contextとしbytes型を指定する。
:::

理由は、レスポンスHTMLに問題がある。原因は、Content-Typeのエンコーディング(charset)がおかしかったり、指定されてなかったりするからだ。

:::note warn
BeautifulSoupはstr型かbyte型で指定できる。
:::

#### requests側でエンコーディング(文字列型で指定)
– **response.encoding** : Content-Typeのエンコーディング
– **response.text** : response.encodingでデコードされたstr型のレスポンスボディ

#### BeautifulSoup側でエンコーディング(bytes型で指定)
– **response.cont

元記事を表示

既存のDjangoプロジェクトを使ってDjango+Nginx+MySQL環境をDockerで構築する

# 目標
既存のDjangoプロジェクトをdocker-composeで起動する。
# 筆者の環境
| 項目 | バージョン |
|–|–|
|wsl2|Ubuntu 20.04 LTS|
|Docker|version 20.10.17, build 100c701|
|docker-compose|version 1.29.2, build 5becea4c|
# 対象
1. 既にDjangoのプロジェクトを持っていてGitHubにあげている。(GitHub専用ではないのでGitさえ使えれば良いです。)
1. Dockerが使える
1. docker-composeが使える
# 対象かどうかをチェック
Dockerが使えるかどうか
“`bash
$ docker –version
Docker version ~.~.~, build ~~
“`
docker-domposeが使えるかどうか
“`bash
$ docker-compose –version
docker-compose version ~.~.~, build ~~
“`

元記事を表示

Python3: テキストをルビ付きの HTML に変換

次のページを参考にしました。
[ルビ振り](https://developer.yahoo.co.jp/webapi/jlp/sample/sample10.html)

次のようにルビを振ります。
>「最後」のルビは誤りです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/2f6f7ff0-c667-227e-67c0-f5aadb259d96.png)

“`py:add_ruby.py
#! /usr/bin/python
#
# add_ruby.py
#
# Jul/29/2022
# ——————————————————————
import sys
import os
import json
from urllib import request
from dotenv import load_dotenv

from parse_results import

元記事を表示

Pythonで自分専用のALEXAを作りました

# 1.はじめに

AmazonのAlexaをpythonで作りたいと思い、試行錯誤を繰り返し、ようやく出来上がりました。
オリジナルのAlexaとはほど遠いですが、条件分岐を記述することである程度の質問には答えてくれました。
これからも改良を続けていきます。

# 2.環境
windows10

# 3.準備

## Speech_recognitionのインストール
“`
$pip install speechRecognition
“`
## pyttsx3のインストール
“`
$pip install pyttsx3
“`
## pywhatkitのインストール
“`

$pip install pywhatkit
“`
## wikipediaのインストール
“`
$pip install wikipedia
“`
# 4.実装

“`main.py
import speech_recognition as sr
import pyttsx3
import pywhatkit
import wikipedia

recognizer = sr.Recogn

元記事を表示

Python3でRM mini3をコントロール

以前はBlackBeanControlなどにPython2が必要だったのが、
Python3だけで使えるようになったのでセットアップメモ

# 環境
Ubuntu 22.04
Python 3.10.4
RM mini 3

Raspberry Piでも確認
 Kernel version: 5.15
 Debian version: 11 (bullseye)
 Python 3.9.2

# 前提
既にRM mini 3がネットワークに繋がっていること。

# python-broadlinkインストール

pipでpython-broadlinkをインストール

“`bash
sudo apt install git pip
pip3 install broadlink
“`

必須ではないがテスト用にcliを取ってくる

“`bash
cd
git clone https://github.com/mjg59/python-broadlink.git
cd python-broadlink/cli
“`

#### 動作確認
こんな感じでRMMINIが見つかればO

元記事を表示

Python チュートリアル第4版のそのままでは動かないコードに加筆して解説する試み

Python 3 エンジニア認定基礎試験の公式テキストとして、オライリーのPythonチュートリアル第4版が指定されています。

しかしチュートリアルとはいいつつも完全な初心者が読むにはやや不親切な場所が目立ちます。

特にそっくりそのまま写しても実行できないコードが何の注意書きもなく書かれているのは初心者泣かせです。
なので、私NMRが(自信はありませんが)加筆することで最低限動くコードとしてみようかなと思います。

私自身Python初日かつ、経験は浅いので修正箇所を見つけた場合はなるべくわかりやすく教えていただけると助かります。

また、熟練者から見ると「その言葉遣いは誤解を招く」などあると思います。
そういった表現の訂正も歓迎です。

### 第4章 4-2 P24のfor文

このコードで筆者が言いたいことの意訳。

Pythonを書いている時に「コレクション(リストやセットのこと)に要素を追加、削除したい」ということがあると思います。
例えば100人の顧客リスト「UserListA」の女性だけを削除して、男性だけの「UserListB」を作りたいなどです。
直感的に考える

元記事を表示

VSCodeでPython書いてる人はとりあえずこれやっとけ〜

## はじめに
Pythonはコードが汚くなりがち(個人的にそう思う)
そんなPythonくんを快適に書くための設定を紹介します。

## 拡張機能編
ここでは **Pythonを書きやすくするため** の拡張機能を紹介していきます。

### 1. Error Lens
image.png

#### before
「コード書いたけど、なんか波線出てるよ?」
記述に問題があった場合、デフォルトでは波線が表示されるだけ。。。
image.png

元記事を表示

OpenAI gymでAtariをインストールするまで

gymの仕様変更に伴って,Atariのインストール手順が少し変化したので,自分用のメモ
## インストール方法
“`shell
pip install gym[atari]
pip install autorom
pip install gym[accept-rom-license]
“`
gym経由でatariをダウンロードするのに加えて,自前でAtari ROMをインストールする必要がある.一応,ROMの使用は研究目的のみ可みたいなことが書いてあったりするので,その辺を注意する必要がある.

## 備考
gym==0.19.0だとROMをインストールしなくても,gym[atari]だけでAtariを動かすことができる.ただし,Defenderのゲームだけgym.makeするとハングアップする現象が確認されたので,もしDefenderで実験したい場合は上記で示した最新パージョンでのセットアップを行う必要がある.

元記事を表示

DjangoのWebアプリケーションにユーザ認証を追加する(django-allauth)

# 1. はじめに
前回の「[DjangoでHello Worldを表示する](https://qiita.com/t-shirayama/items/bc18d924dc672c7215cd)」で作成したWebアプリケーションにユーザ認証を追加していきます。

# 2. Djangoのユーザ認証について
Djangoは標準でユーザ認証システムを搭載しています。Djangoの複数のビューを使って、ログイン、ログアウト、パスワード管理を行うことができますが、認証ビューに対してデフォルトのテンプレートはありません。
そこで今回はテンプレートも含まれるdjango-allauthを利用し、さらに簡単にユーザ認証を追加します。

# 3. django-allauthのインストール
pipコマンドでdjango-allauthをインストールします。
“`
pip install django-allauth
“`
# 4. setting.pyの変更
setting.pyにユーザ認証の設定を追加します。追加や変更していない箇所は省略しています。

“`setting.py
import

元記事を表示

OTHERカテゴリの最新記事