Python関連のことを調べてみた2022年02月01日

Python関連のことを調べてみた2022年02月01日
目次

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解説】PythonでABC237のA,B,C,D,E,F問題を制する!.md

**ABC237**の**A,B,C,D,E,F問題**を、**Python3**でなるべく丁寧に解説していきます。

ただ解けるだけの方法ではなく、次の3つのポイントを満たす解法を解説することを目指しています。

– シンプル:余計なことを考えずに済む
– 実装が楽:ミスやバグが減ってうれしい
– 時間がかからない:パフォが上がって、後の問題に残せる時間が増える

ご質問・ご指摘は**コメント**か**ツイッター**、**マシュマロ**、Discordサーバーまでお気軽にどうぞ!

**Twitter: [u2dayo](https://twitter.com/u2dayo)**
**マシュマロ: https://marshmallow-qa.com/u2dayo**
**ほしいものリスト: https://www.amazon.jp/hz/wishlist/ls/2T9IQ8IK9ID19?ref_=wl_share**
**Discordサーバー(質問や記事の感想・リクエストなどどうぞ!) : https://discord.gg/jZ8pkPRRMT**
よかったら**LGTM

元記事を表示

manimの備忘録シェルピンスキーのギャスケット

from manimlib.imports import *
import numpy as np

class Sierpinski(MovingCameraScene):

def construct(self):
def b_afin(Cx,Cy):
b_afin = np.array([
[1,0,-Cx],
[0,1,-Cy],
[0,0,1],
])
return b_afin

def a_afin(Cx,Cy):
a_afin = np.array([
[1,0,Cx],
[0,1,Cy],
[0,0,1]
])
return a_afin

def rotate_

元記事を表示

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

元記事を表示

Python で list_by_resource_group() を利用してリソースグループ内のリソース一覧を取得してみました

### 概要
Azure SDK for Python を利用して、とある サブスクリプションのリソースグループ一覧の取得と、「list_by_resource_group()」を利用して、指定したリソースグループにあるリソース一覧を取得する Python プログラムです。

### 実行環境

– macOS Monterey 12.1
– python 3.8.3
– Azure CLI 2.28.0

### 前提条件

1. Azure環境がすでに用意されていること(テナント/サブスクリプション)
2. ローカル環境に「azure cli」がインストールされていること
3. [この記事](https://qiita.com/turupon/items/c249680acea136aff42b)の環境がAzure上に構築されていること

### 実行プログラム

“`python:ListbyResourceGroup.py
import os
import time
import argparse
from azure.identity import AzureCli

元記事を表示

Pythonを用いてPOKEMON WORDLEを解く

## はじめに
この記事では,Pythonを用いてPOKEMON WORDLEを攻略していきます.
POKEMON WORDLEの解答のネタバレを含みます.ご注意ください.
## POKEMON WORDLEとは
URL:https://wordle.mega-yadoran.jp/
巷で話題のWordleのポケモンバージョンです.[こちらの記事](https://zenn.dev/chuprod/articles/6006664b03bb0f)で作成の経緯が紹介されています.

私は本当はポケモンLEGENDS アルセウスがやりたいのですが,お金がないので無料で遊べるこちらのゲームを楽しませてもらっています.

このゲームには今日の「今日のお題」と「エンドレス」という二つのゲームモードがありますが,この記事では対象を「今日のお題」モードとしています.

今日のお題モードの補足ルール(ゲームサイトより抜粋)

– 今日のお題モードにはダイパまでのポケモンしか出ません
– お題のポケモンは必ず5文字です
– 回答には5文字以下のポケモンも入力することができます
– 回答には剣盾までのポケ

元記事を表示

foliumを使って東京のコロプレスマップを作成する

## はじめに
今回は僕の記事では同じみになった`Leaflet`をPythonで使えるようにするためのライブラリ`folium`を使って、東京のコロプレスマップを作成してみたいと思います。

## foliumを使って東京のコロプレスマップを作成する
### 使用するデータ
以下のレポジトリに保存されているデータを利用させていただきます。

https://github.com/niiyz/JapanCityGeoJson/tree/master/geojson/

### 実際のコード
“`python
# モジュールの読み込み
import folium
import geopandas as gpd

# 都道府県データの読み込み
geojson_path = “https://raw.githubusercontent.com/niiyz/JapanCityGeoJson/master/geojson/prefectures/13.json”
geojson = gpd.read_file(geojson_path)

# 元となる地図の作成
map = folium.Ma

元記事を表示

pythonでdequeの中身を出力するには`*dq`とすればOK

pythonでdequeの中身を出力するには`*dq`とすればOK

“`python:test.py
from collections import deque

L = deque()
L.append(“a”)
L.append(“b”)
L.append(“c”)

# deque 1つの場合
print(*(L))

L2 = deque()
L2.append(“d”)
L2.append(“e”)
L2.append(“f”)

# deque 2つ足す場合
print(*(L + L2))

# 上記だと、なぜか空白が一緒にprint()されるので、、、文字列にして空白を削除する
str = “”.join(list(L + L2))
print(str)
“`

実行

“`
$ python test.py
a b c
a b c d e f
abcdef
“`

# 参考

https://note.nkmk.me/python-collections-deque/

元記事を表示

foliumと日本の人口データを使ってコロプレスマップを作成してみた

## はじめに
以前の記事で`folium`を使ってコロプレスマップを作成できることはわかったので、今回は実際に日本の人口のデータを用いてコロプレスマップを作成してみました。

以下は以前`folium`を使ってコロプレスマップを作成してみた記事です。

https://qiita.com/zumi0/items/9b28789658e7fae08fbf

## foliumと日本の人口データを使ってコロプレスマップを作成してみた
### 使用したデータ
人口のデータはe-Statよりダウンロードしたものを整形して使用しました。

https://www.e-stat.go.jp/

またコロプレスマップに使用するデータは、以下のリポジトリに上がっている`japan.geojson`を使用させていただきました。

https://github.com/dataofjapan/land

### 実際のコード
“`python
# ライブラリの読み込み
import folium
import geopandas as gpd
import pandas as pd

# 人口のデータ

元記事を表示

pythonのprint()で改行つけないためには`print(“test”, end=”)`みたいにすればOK

pythonのprint()で改行つけないためには`print(“test”, end=”)`みたいにすればOK

“`python:test.py
print(“test”)
print(“test”, end=”)
print(“test”, end=”)
“`

実行

“`
$ python test.py
test
testtest
“`

以上

# 参考

Python3のprintで改行しない方法を現役エンジニアが解説【初心者向け】

元記事を表示

pixivの小説作品のURLからテキストを保存する

# どうして作ったの?

**※あくまでブラウザ内で確認するのが難しいテキスト情報を手元で確認するためのツールとしての利用を想定しています**

TRPGの一つ、CoC(コールオブクトゥルフ)を最近頻繁にプレイしていてページ内だけで確認するのが手間だな・・・と思ったので作りました
pixivで一般公開されている名作のシナリオのテキスト量は膨大で、数十ページにおよぶためpixivサイト内だけで情報を確認することは難しい!
ということでpixivの小説作品のURLから本文のテキストだけを抽出するコードを作ってみました

# 環境
* Google Colab

# ざっくりやってること
* seleniumを使って仮想ウェブブラウザを構築
* html内のタグ情報を使って本文のテキストを取得
* ページ遷移をさせつつ、リダイレクト後に同じページに飛ばされたらwhile文をbreakしてファイルを出力する

# ソース

## Colabへの環境構築

“`shell
!pip install selenium
!apt-get update
!apt install chromium-c

元記事を表示

データ分析未経験者が社内データ分析コンペに出場してわかったこと

# はじめに
昨年末から今年頭にかけ,会社でデータ分析推進部署主催の社内の実データを使ったデータ分析のコンペがあり,未経験ながらも興味があったので**本物のデータを使ってデータ分析を実体験できるチャンス**と捉えて参加しました.
コンペの振り返りと頭の整理のために**自分なりに理解したデータ活用・分析のイメージ**をまとめます.

注) 初心者が振り返りも含めて自分の言葉でまとめたものなので間違い等あるかと思います.何か問題点・間違い等ありましたらコメントいただけますようよろしくお願いします.

# 参加したデータ分析コンペの概要
データや評価内容の詳細は載せられませんが,当たり障りの無いレベルでざっくりと今回参加したコンペの概要をまとめます.

– **目的:**データ活用が可能な人材の育成 + 社内業務へのフィードバック
– **参加者:**自分で参加したいと応募した人(データ分析・活用の経験問わず)
– **利用データ:**社内業務で収集した実データ(正解あり)
– **データ形式:**表形式データ
– **予測対象**:複数分類(グループ分け)
– **期間:**3週間
– *

元記事を表示

ABC237 A~D問題 ものすごく丁寧でわかりやすい解説 python 灰色~茶色コーダー向け #AtCoder

ABC237(AtCoder Beginner Contest 237) A~D問題の解説記事です。
灰色~茶色コーダーの方向けに解説しています。

その他のABC解説、動画などは以下です。

https://qiita.com/sano192/items/54accd04df62242b70f0

##A – Not Overflow

https://atcoder.jp/contests/abc237/tasks/abc237_a

問題文の通りNが-2^31以上かつ2^31未満かを確認します。
条件を満たすなら「Yes」そうでないならば「No」を出力します。

「aのx乗」はa**xと書きます。

「以上」は「<=」 未満は「<」 です。 「Yes」「No」は文字列なので出力の際、"Yes","No"とダブルクオーテーションをつけてください。 入力の受け取り、出力がわからない方は以下の記事を参考にしてください。 https://qiita.com/sano192/items/eb2c9cbee6ec4dc79aaf **【提出】** ```python: #入力の受

元記事を表示

SQLAlchemy同期/非同期の比較

PythonのフレームワークであるFastAPIを触る機会があって、その中で非同期プログラミングの存在を知りました。
非同期プログラミングについて色々調べていくと、DB接続も非同期処理に対応してきていることが分かり、PythonのSQLライブラリで有名なSQLAlchemyもバージョン1.4から非同期処理に対応しているようです。
時代は非同期プログラミングみたいですね。

ただSQLAlchemyの非同期処理の記事がまだ少なく、同期処理から非同期処理に変えるときに、苦労しそうなので、今回はSQLAlchemy同期処理と非同期処理で設定やクエリがどう違うの比較しようと思います。
SQLAlchemyにはcoreとormがありますが、ここではormで書いていきます。
APIにはFastAPI、DBはPostgreSQLを使っていきます。

動作確認用コードは下記リポジトリに置いています。
同期処理:https://github.com/y-p-e/sync_postgresql_fastapi
非同期処理:https://github.com/y-p-e/async_postgresql_

元記事を表示

Flickrの写真を使って写真の位置情報を可視化してみた

## はじめに
SNSにはたくさんの写真がアップロードされています。地図を使って可視化することが好きな僕は、アップロードされている写真の位置情報を使って地図に可視化できないかなと思いました。調べてみると位置情報の取得が簡単にできるサービスでFlickrというものがありました。今回はFlickrに投稿されている写真を使って、その写真の位置情報をもとに地図に可視化してみたいと思います。

## Flickrの写真を使って写真の位置情報を可視化してみた
### 実現したいこと
今回はFlickrのAPIを扱うPythonライブラいを使って写真の情報を取得し、そのデータをLeafletをPythonで使えるようにしたPythonライブラリの`folium`を使って可視化していこうと思います。地図上に写真の位置情報をもとにピンをたて、ピンには実際のその写真が見えるようにします。

### Flickrとは
Flickrとは、写真を共有することのできるサービスです。Instagramのようなサービスですね。今回はこのFlickrのAPIを使って写真の情報を取得しました。

Flickr APIの利

元記事を表示

Streamlit PythonをIBM Cloudへデプロイするよ

手軽にPythonにUIを追加してアプリケーションを作成できるStremlitを使い始めています。ローカルで実行できるので開発やテストは問題ないのですが、できあがったアプリを他の人に見てもらうにはどこかにデプロイする必要があります。
Stremlitでは[StremlitSharing](https://streamlit.io/cloud)というStremlitの専用の公開サイトがあるのでそこへ手軽にデプロイできるのですが、他のデプロイ先も試してみようと思います。
Herokuとかへのデプロイする情報が多いのですが、今回はあまり情報のないIBM Cloud Code Engineへのデプロイを試してみました。

## 事前チェック
下記のものを準備しておいてください。
* IBM Cloud アカウント (ライトアカウント以上)
* GitHub アカウント
* Git CLI

## IBM Cloud
[IBMのクラウドサイト](https://www.ibm.com/jp-ja/cloud)です。企業向けに力を入れてる感じです。開発したアプリケーションをデプロイする方法として

元記事を表示

2011年3月11日に起きた地震情報を可視化してみた

## はじめに
2022年1月22日に九州で大きな地震が発生しました。地震といえば、僕は2011年の東日本大震災を思い出します。今回は東日本大震災が発生した2011年3月11日の地震情報を`folium`を使って可視化してみたいと思います。

## 2011年3月11日に起きた地震情報を可視化してみた
### 実現したいこと
LeafletをPythonで使えるようにしたPythonライブラリの`folium`を使って、震央の位置とマグニチュードを円の大きさで表現したいと思います。

### 使用するデータ
今回使用するデータは、気象庁が提供している震度データベース検索からダウンロードしたものを使わせていただきました。

https://www.data.jma.go.jp/svd/eqdb/data/shindo/index.html

ここから、2011年3月11日に発生した最大震度1以上をどこかしらで観測した地震を集計しています。

### 実際のコード

“`python
# 必要なライブラリ
import folium
import pandas as pd
import

元記事を表示

StreamlitとCOTOHA APIで簡単にテキスト感情分析Webアプリを作る

 StreamlitとCOTOHA APIを使って超簡単にテキスト感情分析Webアプリを作ります。

## Streamlitとは

 StreamlitとはPythonでフロントエンドを構築できるWebフレームワークです。同じPythonのwebフレームワークであるDjango, Flask, Fast APIなどと比べるとHTTPやCSSなどを理解しなくてもWebアプリを作成することができます。
 ※ただし、その分デザインの凝ったWebアプリの作成には向いてないかもしれません。

### Streamlitのインストール

 ターミナルからpipでstreamlitをインストールして下さい。

“`
pip install streamlit
“`

### Streamlitのユーザー登録

 [StreamlitのHP](https://streamlit.io/)からユーザー登録をおこなってGithubのアカウントを連動させることにより簡単にWebアプリケーションを公開することができます。

## COTOHA APIとは
 NTTコミュニケーションズが提供する自然言語処

元記事を表示

pythonのリストでn番目に大きな値とそのindexを取得する

#はじめに
pythonでリストの最大値・最小値をとってくる方法は簡単です。
しかし、n番目の値やindexをとってくる方法は、調べても出てこなかったため高速に行えるものを書きました。
これはもともとdifflibライブラリ内にあったものを参考にしました。

#アルゴリズム
プログラムの順番としては、

1. 値とインデックスをセットにしたリストを作る
2. 高速化のためn番目までソートする
3. ソートしたリストのn番目の中身を取得

です。
ソート時、n番目までしかソートしていないので、高速です。

#プログラム

“`.py
from heapq import nlargest, nsmallest
lst = [5,2,6,2,7,5,9,5]
n = 3 #この値までソートする

result = [(value,i)for i,value in enumerate(lst)]
max_result = nlargest(n, result)
min_result = nsmallest(n, result)

print(“{}番目に大きな値はindex{}の{}で

元記事を表示

SudachiPyを使ってみる

[SudachiPy](https://github.com/WorksApplications/sudachi.rs/tree/develop/python)はワークス徳島人工知能NLP研究所が開発している形態素解析器[Sudachi](https://github.com/WorksApplications/Sudachi)のPython版です。
バージョン0.6.0からは実装をCythonからRustに変更し、以前のバージョンより20倍ほど実行速度が速くなっています。

# 導入

最初はPythonの仮想環境を作ります。

“`bash
python -m venv supy-test
“`

`bash`や`zsh`を使う場合は環境を有効にするために以下のようにします。

“`bash
source supy-test/bin/activate
“`

Windows上のPowershellの場合はPowershell版の有効化スクリプトを使います。

“`powershell
.\supy-test\Scripts\Activate.ps1
“`

元記事を表示

OTHERカテゴリの最新記事