UdemyでPythonを勉強した結果を残すブログ。

40歳でプログラミング始めて転職までいけるのかを実録してみます。

変数を指定しないdef の書き方(*args, *kwargs)

絶対覚えておいたほうがいい!変数の数が不特定な場合でも対応できるdefの作り方 例えば 計算機アプリを作るとして、足し算の機能を作成するとする場合 def add(n1, n2): return n1 + n2 が基本的なコーディングになるが、この状態だと足し算は1回しかでき…

DAY26 リスト・ディクショナリーを内包記述してコード数削減&名前でフォネティックコードを取得するツールを作成

今回の講義では内包記述、という言い方が合っているかどうかわからないが 英語では comprehensionという書き方を使ってコードをスッキリ・簡潔に書く練習をしつつ、アルファベットのフォネティックコードを取得するツールを作成してみる。 ここでは毎回単語…

DAY25 pandasを使ってデータを整形&日本地図都道府県名ゲームを作る

25日目ではcsvを読み込んでデータを扱う授業。 Angela YuのUdemyではアメリカの州を当てるクイズを作成しましたが、 今回は日本地図で応用してみました。 csvは今までは import csv with openとかで読み込んでましたが、今回はpandasモジュールを使います。 …

python DAY-24 with open... を使ってスネークゲームにハイスコア機能を実装する

DAY24ではDAY20で作ったスネークゲームにハイスコア機能をつけます。 今までであればプログラムを閉じたら全てのデータは消去されてしまい 起動すると全て初期化されてしまうのですが、 大事な部分はデータとして残しておくようにします。 snake game high s…

DAY23 Turtleモジュールをもっと応用して障害物よけゲームを作る

今回はTurtleモジュールを使ってもう1個ゲームを作る講座。 今回は障害物よけゲームです。 Udemyの講座では長方形が動くようにしていますが、 自分のは復習と応用も兼ねてshapeをタートルにしてクリアするたびに難易度があがる設定を追加しています。 スク…

DAY22 Turtleモジュールを使ってピンポンゲームを作る

Angela Yu先生による22日目の講座実践。 今回はTurtleモジュールをさらに応用してレトロゲームのピンポンゲームを作ります。 pong game 両端にバーがあって、キーボードで動かして、 ボールを跳ね返していき、はねかえせずにバーを通り過ぎてしまったら負け…

DAY20-21 タートルモジュールを使ってスネークゲームを作る

snake game DAY 19 20の二日間ではタートルモジュールを使って レトロゲームのスネークゲームを作ります。 スネークを上下左右に操って、丸い餌を食べることで 体がとスコアが1つずつ増えていってどれだけスコアを上げられるかというゲームです。 ざっくり…

DAY19 python - Turtleモジュールを使って簡単なレースゲームを作る

DAY18で学習したTurtleオブジェクトをさらに応用して、 今回はタートルレースゲームを作成します。 今回の流れとしては ウィンドウサイズを設定する 複数のタートルをスタートラインに立たせる どのタートルが勝つか予想をinputに入力する レーススタート! …

DAY18 python - Turtleモジュールを使ってダミアンハースト的なアート画像を作る

今回は今までと打って変わって新しいモジュールを使って アートな画像を作る講座。 アートを知っている人くらいしか知らないマニアックだけど アート界では巨匠な人 ダミアンハーストの画像を作ります。 こんな感じのドット並べてるだけの絵なんだけど、これ…

DAY17 クラスの初期化してクイズアプリを作る

DAY16 のclassはメソッドを格納して1つのコーヒーメーカーだけでなく 他のコーヒーメーカーでも使えるように基本的な機能を格納する記述を勉強したけど、 今回は呼び出したら機能を使えるだけでなく、 元々のデフォルト設定ができるようなコーディングを勉…

python - google colab のより複雑なデータの扱い方まとめ

前回、前々回に引き続きgoogle colabでデータを扱う時の流れ。 htmlタグが+テキストのボタンを使うと使用可能。 .groupby(”見出し名”)に.count()でそのデータの見出し名が同じものを集計することができる。 例:df.groupby("color").count() df.見出し名.va…

python - google colab などでのデータをグラフ化するおおまかな流れまとめ

前回の記事の続きで 成形したグラフをグラフなどで可視化する流れを復習。 import pandas as pdでpandas インポート, pdで呼び出せるように df = pd.read_csv('csvファイル', names=["見出し名1","見出し名2","見出し名3"], header=0) で見出し付きの表を作…

python - google colabs などでのデータ分析の大まかな流れ

pandasをインポート .read_csvなどでデータをインポート (インポートしたデータをdfとする) .head(), tail(), .shape, .columsなどを使ってcsvから見出しや大まかな概要を把握する 数値じゃない値を .findna() で探し、 .dropna()で削除してデータをきれい…

DAY16 OOP(オブジェクト指向プログラミング)を勉強してコーヒーメーカーをアップデートする!

OOPとはObject Oriented Programming の略でオブジェクト指向プログラミングという。 今までのようにコーディングしていった場合、実務だとコーディングがどんどん煩雑になっていくので どこにどのコードを書いたのかわかりにくくなってしまう。 今回はクラ…

TensorFlow2 を使った物体検出の資料要チェックサイト

github.com

スクレイピングをする時にAmazonとかでうまくできない場合の設定テンプレ

myhttpheader.com アマゾンで普通にrequestで思ったエレメントがとれない場合は 上のhttpheader.comとかでuser-agentとaccept-languageのデータをとって headerに追加してrequestsすると思い通りのものがとれる。 それでもできなかった場合はBS4のparserをh…

Python : smtplibを使ったメール送信テンプレ(gmail)

gmail側もセキュリティを低くする設定が必要。 他サーバーの場合もいるのかも。 import smtplibMY_EMAIL = "YOUR EMAIL"MY_PASSWORD = "YOUR PASSWORD"contents = "..."with smtplib.SMTP("YOUR EMAIL PROVIDER SMTP SERVER ADDRESS") as connection: connec…

DAY:15 PyCharmを使って簡易擬似コーヒーメーカーをプログラミングする!

今までの学習はreplit.comでの作業だったのだけど、これからはpythonのコーディング用ツールを使っての作業に。 replit.com 先生のおすすめはPyCharm。 Pythonに特化したツール(IDEというらしい)で環境構築もしやすくて、みやすそうな感じ。 ちょっと前ま…

DAY 14 初級の機能をフル活用してハイローゲームをプログラミング!

DAY14は今までで習った機能を活用してハイローゲームをプログラミングする。 ハイローゲームとは、どちらの数値が高いかを応えて正解するごとにスコアアップするゲーム。 A: お金配りおじさん B: きゃりーぱみゅぱみゅ どっちのフォロワーが多い? A! み…

Python : APIのデータ取得テンプレ

例:トリビアサイトからの質問データを毎回ランダムに10個、2択問題を抽出する場合 import requestsparameter = { "amount" : 10, "type" : "boolean",}response = requests.get(url="https://opentdb.com/api.php", params=parameter)response.raise_for…

DAY 13 よくあるバグについて

今回はバグについて。 バグはプログラマーには絶対ついて回るものですが、 大事なのはバグを見つけた時、どこがエラーなのか どこを直せばいいのかを知ること。 よくあるエラーをいくつか学ぶ。 1・randomなどのrange(1,20)などの設定 結構間違えやすいエラ…

DAY 12 : Scopeを学びつつ数字あてゲームをプログラミングする!

DAY12は数字当てゲームを作る。 その前にScopeについての勉強があって、 変数を定義する時、pythonではインデントされたものは 同じインデント部分以下でしか使えない。 例えば数字当てゲームのコードからいうと import randomEASY = 5HARD = 10def select_m…

DAY 11: ブラックジャックゲームをプログラミングする!

11日目の勉強はブラックジャックのゲームをPythonで再現する。 まずはブラックジャックのゲーム内容をおさらい。 今回はディーラーvsプレイヤーの2人だけの対決。 1・まずゲームをしますか?という質問。はいならゲーム開始。いいえならbreak。 2・ゲーム…

DAY 10 function の returnを覚えて簡易計算機をプログラミングする!

今回は、今まで学んできたfunction()の新しい出力方法 returnを学んで、 計算機を作る授業。 今まではfunctionの使い方は def dothis(): do something() do something() something = do somethings() print(something) みたいな感じで何か複数の行動をまとめ…

DAY:9 辞書型リストを使って簡易シークレットオークションをプログラムする!

今回は辞書型リストを学んでシークレットオークションを作ってみます。 UdemyのAngela Yu先生のコースは毎回何かを作りながら学ぶので 面白いし作ったもので遊べるのがとてもいい。 さて辞書型リストについて。 今まで習ったリストは[0, 1, 2, [3,4]]などの…

DAY 8: シーザー暗号を作成・解読するツールをつくる!

今回はシーザー暗号を作成・解読するツールを functionをより深く学んで作る。 シーザー暗号とは? ja.wikipedia.org 例えば、hello という文字をシーザー暗号で4つシフトして暗号化すると、 lippsとなる。 hを4つずらすとlになるから。 0→h 1→i 2→j 3→k 4→l…

DAY:7 ハングマンをプログラムする!

今回はハングマンという言葉あてゲームのプログラムを作る。 ハングマンとはどんなゲームかというと、 https://hangmanwordgame.com/ こちらのリンク先のようなもので1つ単語を選んで、 その文字数を空白で表現する。 そこからプレイヤーが文字を選んで、空…

DAY:6 Reeborg's world という練習サイトでfunction()の作り方・使い方を学ぶ!

DAY6のまとめ。 Reeborg's worldというサイトで遊びながらfunctionの使い方を学べる。 https://reeborg.ca/reeborg.html?lang=en&mode=python&menu=worlds%2Fmenus%2Freeborg_intro_en.json&name=Hurdle%201&url=worlds%2Ftutorial_en%2Fhurdle1.json 進む、…

DAY5 for文を理解してパスワードジェネレーターを作る

5日目だけどforとリストの扱い方が理解できずに数日かかる。 パスワードジェネレーターの動作として、 ・いくつ文字を入れるか? ・いくつ記号をいれるか? ・いくつ数字をいれるか? を選べて、そこからランダムにパスワードを作る。 上記の答えを5,4,2と…

DAY:4 ランダムに数字を出力してジャンケンゲームを作成!

4日目はランダム機能を作成して最終的にジャンケンゲームのプログラムを作成する。子供の頃にメダルゲームでやってたのが4日目にして作れる!笑 ランダムはパイソン自体の機能にはないらしく、import で昨日を呼び出すことで使えるようになる。 import ran…