- 1. [デイリーコーディング] 文字列内の各アルファベットを10個後のものに変換する
- 2. googletrans , YouTube subtitle , Google Colab
- 3. A. ABC Preparation, B. Shift only, C – To Infinity, D – Powerful Discount Tickets
- 4. Python[List/Dict] – スライス、ストライド、catch-allアンパック、ソート
- 5. Python[List/Dict] – getメソッド, setDefault, defaultDict, __missing__
- 6. Python Pycharmのインストール
- 7. Pandasで2つのデータフレームに共通する行だけ残す・削除する方法
- 8. 古いUbuntuにpyenvで新しいPythonを入れる
- 9. ImportError: DLL load failed: 指定されたモジュールが見つかりません。とエラーが出たら
- 10. pyenv install 3.x.x で error: C compiler cannot create executables
- 11. A – Favorite Sound, B – Bitter Alchemy, A – Simple Math 2
- 12. A – Biscuits
- 13. Python:画像中の物体をMatplotlibで描写したい
- 14. LINEリッチメニューの開発方法
- 15. アプリ制作 herokuでのslug sizeについて
- 16. Python Anacondaでの開発環境 【VScode】
- 17. 頑張らずにM1チップのまっさらMacでFlask環境を作ってみた
- 18. how install python version 3.9.0 in macOS Big Sur 11.2
- 19. Python 学習環境を構築をする方法【Anaconda】
- 20. テキスト読み込み
[デイリーコーディング] 文字列内の各アルファベットを10個後のものに変換する
#今日の問題: 文字列内の各アルファベットを10個後のものに変換せよ
ord()とchr()を使って解決していきます。
“`python:回答(Python3)
from icecream import ic # デバッグ用にicecreamをインポートしています。def move_ten(st):
result = “”
for i in st:
ordI = ord(i)
if ordI >= 113:
result += chr(ordI – 16)
else:
result += chr(ordI + 10)
return resultic(move_ten(“testcase”)) # “docdmkco”
ic(move_ten(“codewars”)) # “mynogkbc”
ic(move_ten(“exampletesthere”)) # “ohkwzvodocdrobo”
ic(move_ten(“returnofthespacec
googletrans , YouTube subtitle , Google Colab
以前、話していることを聞き書きしたいときにYouTubeにアップロードして、一時間ほど待って、キャプションが自動でできてから、そのキャプションファイルを .str / .sbv などでダウンロードして、さらに[Subtitleedit](https://nikse.dk/About)や[Aegisub](https://github.com/Aegisub/Aegisub)など優れた機能の字幕編集エディターを使って、間違いを修正して、編集終わればテキストファイルにして書き出していました。
IBMワトソンTTSのdemo(日本語ドメインのは見たことないです。HPリンクのメンテ一切してないようなので。)や、京都大学の河原研究室の字幕生成の実験公開サーバーなども使わせていただいて、結果を比較したりしていました。
編集しやすいということでは、字幕ファイルにするのが最もスムーズだと感じました。
当時、emacsについては知りませんでしたので、mpvとemacsの組み合わせで、聞き書き、文字おこしがテキストエディター内でできるとA. ABC Preparation, B. Shift only, C – To Infinity, D – Powerful Discount Tickets
2021年2月10日 くじかつ
精進問題##[A – ABC Preparation](https://atcoder.jp/contests/abc185/tasks/abc185_a)
O(1)
“`python:python
a, b, c, d = list(map(int, input().split()))print(min(min(a, b), min(c, d)))
“`“`C++:C++
#include#define rep(i,n) for(int i=0; i<(n); ++i) #define fixed_setprecision(n) fixed << setprecision((n)) #define execution_time(ti) printf("Execution Time: %.4lf sec\n", 1.0 * (clock() - ti) / CLOCKS_PER_SEC); #define pai 3.1415926535897932384 #define NUM_MAX 2e
Python[List/Dict] – スライス、ストライド、catch-allアンパック、ソート
# シーケンスのスライス
Pythonには、シーケンスをスライスする構文があります。スライスをすることにより要素の部分集合に最小限の労力でアクセスできます。list, str, byteという組み込み関数は簡単にスライスできます。~~~python
a = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’]
print(‘Middle two: ‘, a[3:5])
print(‘All but ends: ‘, a[1:7])
>>>
Middle two: [‘d’, ‘e’]
All but ends: [‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’]
~~~末尾までスライスする時には、末尾のインデックスは冗長なので省きましょう。
~~~python
print(‘To end: ‘, a[5:])
>>>
To end: [‘f’, ‘g’, ‘h’]
~~~スライスでは、りすんとを超えたstart, endも欠損した要素を無視することで適切に扱われます。
また、インデックスに直接アクセスしようとすると例外が発生しますPython[List/Dict] – getメソッド, setDefault, defaultDict, __missing__
# 組み込みdictのget()・setDefault
Dictを扱うための3つの基本的な演算とは、キーとその値へのアクセス, 代入, 削除です。例えば、以下のようなフルーツを`counters`とするdictを定義します。
~~~python
counters = {
‘appple’: 3,
‘banana’: 2
}
~~~新たに追加するものを`counters`に増やすには、キーがあるかどうか調べ、なければデフォルトのカウンタ値0で挿入し、カウンタの値を1つ増やします。if分でキーが存在する場合にTrueを返すin文を使います。
~~~python
key = ‘lemon’
if key in counters:
count = counters[key]
else:
count = 0
counters[key] = count + 1
print(counters)
>>>
{‘appple’: 3, ‘banana’: 2, ‘lemon’: 1}
~~~同じことを実現する別の方法として、存在しないキーの値を得たい場合にK
Python Pycharmのインストール
皆さん、記事主モノ([My Twitter](https://twitter.com/El4lQmonosiwnf) へ)です。
今回も学んだことについて、一つ一つアウトプットを兼ねて、Pythonに関する知識や理解を皆さんと共有できたらと思います。
インストール方法は概ねWindowsもMacも変わりませんではやっていきましょう!
#統合環境開発(IDE)ってなに?
まずPythonの統合開発環境IDEというのを説明させていただきます。
IDEというのは、 Integrated Development Environment の略であり、ソフトウェア開発に必要なソフトウェアを一つに組み合わせたもので、同じ操作画面から統一的な操作法で利用できるようにしたソフトウェアパッケージとなります。
そしてこのIDEは、プログラムを記述し、コードをコンパイルし、実行してデバックするという流れがあり、このプロセスを単一のツール上で行うことができます。
##IDEの一つPycharmについて
今回使っていくPycharmはjetbrains([リンク先](https://www.jetbrainPandasで2つのデータフレームに共通する行だけ残す・削除する方法
Pandasで2つのデータフレームを比較して処理を行う方法をまとめます。
例として以下のデータフレームを使用します。
“`py
import pandas as pddf_2017 = pd.DataFrame({‘種類’:[1, 2, 3, 1, 3], ‘サイズ’: [“S”, “S”, “M”, “L”, “S”], ‘平均価格’: [200, 120, 250, 300, 260]})
df_2020 = pd.DataFrame({‘種類’:[2, 2, 1, 1], ‘サイズ’: [“S”, “M”, “L”, “M”], ‘平均価格’: [130, 180, 340, 280]})
“`2017年のデータ
||種類 |サイズ |平均価格|
|:—-:|:——–:|:————:|:————:|
|0 |1 |S |200|
|1 |2 |S |120|
|2 |3 |M |250|
|3 |1 |L |300|
|4 |3 |S |190|2020年のデータ
古いUbuntuにpyenvで新しいPythonを入れる
やんごとなき理由により
# 環境
– Ubuntu 14.04# やりたいこと
– pyenv で Python 3.9.0を入れる普通にやると以下のようなエラーが出てしまう
“`
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
“`# やること
## 新しいopensslを導入
14.04のopensslは古いので、Python 3.7以降が必要とするopenssl 1.0.2以降をビルドしてインストールする。
“`bash
cd /tmp
mkdir openssl-build
wget https://www.openssl.org/source/openssl-1.1.1i.tar.gz
tar xvfz openssl-1.1.1i.tar.gz
cd openssl-1.1.1i
./config –prefix=/usr/local/openssl/1_1_1i –openssldir=/usr/local/openssl shared
mImportError: DLL load failed: 指定されたモジュールが見つかりません。とエラーが出たら
##環境
windows 10
python 3.8.5##初めに
Jupyter Labにて、
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
とエラーが発生して解決にてこずってしまったため、
メモとして書き記しておきたいと思いました。##解決方法
解決方法はマイクロソフトのサイトの
[The latest supported Visual C++ downloads](https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0)
Visual Studio 2015, 2017 and 2019の下にある
・x64: vc_redist.x64.exe
をインストールしたら解決することが出来ました。##原因
windowsにはvcランタイムがインストールされていなかったので、
インストールしてあげる必要があったみたいです。
上記のvc_redipyenv install 3.x.x で error: C compiler cannot create executables
## 忙しい人向け
細かいことはいいから結論が知りたい人向けに先に結論を記載します。
[解決法3 xcode-betaのインストールと適用](#解決法3-xcode-betaのインストールと適用) で筆者は解決しました。## はじめに
久々にPythonで遊ぼうと思ってpyenvでPython3系をインストールしようと思ったらハマって1時間かかったのでメモとして残します。
## 開発環境
– OS: macOS Big Sur 11.2
– pyenv: 1.2.22## 事象
“`zsh
$ brew install pyenv
“`実行後にバージョンを指定してPythonをインストールしようとするとタイトルのエラーが発生
します。
筆者の場合は3.9.1をインストールしようとしてエラーになりました。“`zsh
$ pyenv install 3.9.1
~中略~
BUILD FAILED (OS X 10.15.7 using python-build 20180424)
Inspect or clean up the working tre
A – Favorite Sound, B – Bitter Alchemy, A – Simple Math 2
2021年2月9日のくじかつ
精進内容!##[A – Favorite Sound](https://atcoder.jp/contests/abc120/tasks/abc120_a)
O(1)
“`python:python
A, B ,C = list(map(int, input().split()))
res = min(B // A, C)
print(res)
“`##[B – Bitter Alchemy](https://atcoder.jp/contests/abc095/tasks/abc095_b)
O(N)
貪欲法、まず最初にN種類のドーナツを作成できるか。
その後、最も少ない材料で作成できるドーナツを可能な数だけ作成する。“`python
N, X = list(map(int, input().split()))m = [0] * N
min_m = 1001
res = 0for i in range(0, N):
m[i] = int(input())
min_m = min(min_m, m[i])A – Biscuits
##[A – Biscuits](https://atcoder.jp/contests/agc017/tasks/agc017_a)
最初は2^50のbit全探索を考えました。
2^50は「1.1258999e+15」ですね。
どう見てもTLEです。“`python:python
import mathN, P = list(map(int, input().split()))
A = list(map(int, input().split()))res = 0
for bit in range(0, 2 ** N):
total = 0
for i in range(0, N):
if (bit >> i) & 1:
total += A[i]if total % 2 == P:
res+=1print(res)
“`ここで奇数と偶数に注目しました。
###p=0の時、数列の偶数の要素をnとした時の組み合わせは、“`math
V1 = 1 (nPython:画像中の物体をMatplotlibで描写したい
#はじめに
・画像中の物体を座標変換等でpltで表示できるようにしました。参考:[Python:OpenCVのエッジ抽出を利用した手抜き物体検出](https://qiita.com/horiday_qiita/items/be82c8a4b31d9b17abf8)
##具体例
[1]材料
![target2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1065409/61b26a22-eafe-ba24-fc4d-881a6c914d75.jpeg)
↓
↓[2]完成
![ダウンロード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1065409/f4f5c52b-46ce-e4b8-d647-38f8c2cb95cb.png)#実装
##1.[前回](https://qiita.com/horiday_qiita/items/be82c8a4b31d9b17abf8)のまとめ
とりあえず、材料とすLINEリッチメニューの開発方法
#リッチメニューとは
>「LINE公式アカウントの機能の一つ「リッチメニュー」は、トーク画面の下部に大きく表示されるメニューです。画面を大きく占有するためユーザーの注意を引きやすいほか、クリエイティブとともにリンクを設定することで予約ページやECサイトなどにユーザーを誘導することができます。」
LINE for Business(https://www.linebiz.com/jp/column/technique/20180731-01/) より引用ざっくり言うとユーザーができる行動をテキストでやりとりするのではなくリッチメニューで
表示されているボタンを押すことで簡単に利用することできるようになるということで、どうやらbotに
導入することでより便利になりそうな予感です。
この回では、個人的なメモと他に同じようにpythonでLINE messaging APIでリッチメニューを開発したい!と
考えている方の何かヒントになればという話を書きます。#本編
まず初めに、今回この記事を参考にリッチメニューを作成しました。
[LINE Messaging APIのリッチメニューをPアプリ制作 herokuでのslug sizeについて
##この記事について
プログラミング初学者の私が初めてherokuにデプロイする際につまずいてしまったところを共有していけたらと思います。少しでも参考になれば幸いです。##herokuでのデプロイ
今回私はFlaskを使ったアプリの開発を行いherokuへデプロイしようとしました。しかし最初から上手くいくはずもなくエラーがバンバン出てきました。
その中で一番出てきたエラーが
`Compiled slug size: 504.7M is too large (max is 500M).`
herokuにデプロイできる最大容量が500MB(無料版)に対して実際にデプロイしようとしたものが__504.7MBで容量オーバー__ですよというエラー。
あと4MBぐらいならrequirements.txtでモジュールを違うバージョンに書き換えて調整すれば500MBきるかなと思っていたんですが、デプロイしようとするたびに容量オーバーのエラーが出てしまっていました。
##原因
最初はモデルに読み込ませたデータ量が大きすぎたのかなと思いデータ量を少なくしてモデルを再構築しデプロイしてみましたが__結Python Anacondaでの開発環境 【VScode】
皆さん、記事主モノ([My Twitter](https://twitter.com/El4lQmonosiwnf) へ)です。
今回も学んだことについて、一つ一つアウトプットを兼ねて、Pythonに関する知識や理解を皆さんと共有できたらと思います。さて、今回やっていくことは、実際にAnacondaを動かして開発環境を整えたり、パッケージの使いかたをアウトプットしていきます。
#1,Anacondaを起動してみよう
##1-1, 開発環境を整えていく
まずは、インストールしたAnaconda Navigatorを起動していきましょう。
下記の画像のように選択した後、二枚目の画像のように表示されれば起動は完了です。※一枚目
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/927177/a6ae6a13-3bf8-319d-8246-ec63758aaf6f.png)
※二枚目
![image.png](https://qiita-image-store.s3.ap-northeas頑張らずにM1チップのまっさらMacでFlask環境を作ってみた
私のMacBookはまっさらなので、まずHomebrewをインストール。
Rosetta2が入っていればx86_64と同じように動く。便利。
[Homebrew](https://brew.sh/index_ja)のページに記載されているスクリプトを実行。“`
$ /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
“`
これだけで動いた。
あとはHomebrewに指示された通りのコマンドを打つ。“`
$ echo ‘eval $(/opt/homebrew/bin/brew shellenv)’ >> /Users/midori/.bash_profile
$ eval $(/opt/homebrew/bin/brew shellenv)
“`
前者のコマンドで次回シェルを開くときに自動的に処理が行われるようして
後者のコマンドで今開いているシェルに対して処理を行う、らしい。[参考](https://qiita.com/m-tmahow install python version 3.9.0 in macOS Big Sur 11.2
#I bought new mac book pro and set up my env.
But pyenv install 3.9.0 is not working…
#新しいMacBook Proを購入してセットアップ!
しかし、pyenv install 3.9.0 がerror。lol“`
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.9.0.tar.xz…
-> https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tar.xz
Installing Python-3.9.0…
python-build: use readline from homebrewBUILD FAILED (OS X 11.2 using python-build 20180424)
Inspect or clean up the working tr
Python 学習環境を構築をする方法【Anaconda】
今回初記事となります。
記事主モノ([My Twitterへ](https://twitter.com/El4lQmonosiwnf))が学んだことについて、一つ一つアウトプットを兼ねて、Pythonに関する知識や理解を皆さんと共有できたらと思います。
某アニメの青タヌキのような暖かい目で見ていただけたら幸いです。この記事ではWindows10パソコンにPython環境をインストールして使えるようにする方法について紹介していきます。
(間違い・こうした方がいい等ございましたら、ご指摘いただけたらと思います。)以降pythonという言葉は、基本的にはpyhton3系を指します
#Pythonのインストールのやり方(Anaconda)
##Python初心者の方向け
まずAnacondaは、Pythonのディストリビューション(distribution)です。ディストリビューションとはコンパイルしてある設定済みのソフトウェアの集合体を指します。WindowsでPythonを使うにはAnacondaという統合開発環境をインストールしていきます。Anaconda自体はただの箱であ
テキスト読み込み
def setting_number_reading(self):
self.setting_number=[]with open(‘./setting.csv’, encoding=”shift-jis”) as f:
reader = csv.reader(f)
header = next(reader) # ヘッダーを読み飛ばしたい時for row in reader: # 1行づつ取得できる
self.setting_number.append(row[1])if self.setting_number[0] ==””:
self.setting_number[0] = “0”if self.setting_number[1] ==””:
関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた