こんばんは。Python日記7日目です。
<今日やったこと>
Lesson35 ファイルのエンコーディング
Lesson36 コマンドと数字の組み合わせ
Lesson37 関数の作成(あまり理解できなかった。明日もう一度。)
<昨日の続き>
bot_dict = { 'こんにちは': 'コンニチハ', 'ありがとう': 'ドウイタシマシテ', 'さようなら': 'サヨウナラ', } while True: command = input('pybot> ') response = '' for message in bot_dict: if message in command: response = bot_dict[message] break if not response: response = '何ヲ言ッテルカ、ワカリマセン' print(response) if 'さようなら' in command: break
このコードの理屈がやっと分かりました。
if message in command:
この文が①Trueの時、②Falseの時でまず場合が分かれる。
①の時、すなわち辞書のkey部分の文字列が入力されたとき、
辞書のkeyに対するvalueの文字列がprintされる。
入力される文字列が「こんにちは」「ありがとう」の場合は、
print実行後、ループで最初に戻る。
入力される文字列が「さようなら」の場合は、
print実行後、breakでプログラム終了。
②の時、if not response:がTrueとなり、
「何を言ってるか分かりません」がprintされ、ループで最初に戻る。
Chapter6に入ってから難しいことが多いです。
分からないことにぶつかることもあれば、急に分かることもある。
なんかおもろい。