今回はバグについて。
バグはプログラマーには絶対ついて回るものですが、
大事なのはバグを見つけた時、どこがエラーなのか
どこを直せばいいのかを知ること。
よくあるエラーをいくつか学ぶ。
1・randomなどのrange(1,20)などの設定
結構間違えやすいエラーで、この場合だと
if i == 20:
print("finish")
とつい書いちゃうけど、この場合はrange(1,20)は19までしか範囲に入らないので
注意。
でもrandom.randint(1,100)だと100も含まれるのでやっかい。
2・1、2回では正常だけど何回かやるとエラーになる場合
これもよくある、random使ってる時にほとんど大丈夫だったけど
一番最後とか一番最初選んだらエラーになっちゃうパターン。
3・比較する時の=のつけ忘れ
if i < 2000 and i > 1950:
print("....")
elif i > 2000:
print("....")
一見良さそうな感じだけど、i がちょうど2000の場合は
なにも出力されないエラーが起きる。
どちらかに=をつけてあげないと2000がカバーできない。
4・inputの結果が整数なのに文字列で出ちゃう
answer = input("何歳?")
if answer < 20:
print("未成年")
else:
print("大人")
答えを数字で欲しいけどこのままだとエラーになる。
inputはstrings なのでint()で囲ってあげないといけない。
5・エラーが出たらprintで確認してみる。
ながいプログラムを書いているとAがおかしいのはBの計算がおかしいから、という場合もあってエラーがわかりにくくなる。
そういう場合は怪しいところをprintでちゃんとその通りにいっているか確認するのが大事。
6・デバッガーソフトで確認するのもあり。
Thonnyというソフトは1つ1つをステップで動かしてくれる機能があるので便利だし、
python tutorというサイトにコードを入れると同じようにステップでわかりやすくpythonの動作の流れを見せてくれる。
7・どうしてもわからない場合は人に聞く・ググる!
最終これ。
自分で見落としている部分を他の人が解決してくれる。
とても助かる。
以上でDAY13終わり。