2.特定の文字列に対して反応
わざわざチャットボットを作るのに単にオウム返しをするだけではつまらない
とりあえず特定の言葉が含まれていたら特別な反応をするようにしたい。
if文を使用してこんな風に書いてみる。
talk = input()
if '今日' == talk:
print('今日は雨だね。')
else:
print(talk)
今日と入力した際に
今日は雨だね。と出力される。
しかし今日の天気は? と入力した際に返されるのは
今日の天気は? である。
つまりこいつは融通が利かないポンコツなのである。
このままではいかん
せめて入力した文字列に「今日」が含まれていたら
雨であることを伝えたい。
なので下に変更
talk = input()
if '今日' in talk:
print('今日は雨だね。')
else:
print(talk)
これで今日の天気は?と聞いたらしっかりと
雨であることを教えてくれる子になった。
だが今日の晩御飯は?と聞いた際にも
今日は雨だね。 と返答してしまう。
大変遺憾である。 こうやって変えてみよう。
talk = input()
if '今日' in talk and '天気' in talk:
print('今日は雨だね。')
else:
print(talk)
これで入力した内容に「今日」と「天気」という文字列が含まれていた場合
雨であることを教えてくれるようになった。
このようにいろいろと条件を追加していけばいろいろな言葉に反応してくれる
チャットボットを作れるようになるんだろうね。
talk = input()
if '今日' in talk and '天気' in talk:
print('今日は雨だね。')
if '今日' in talk and '飯' in talk:
print('今日はオムライスを食べたよ。')
if 'オススメ' in talk and '漫画' in talk:
print('最近はSPY×FAMILYが人気らしいね!')
else:
print('ごめんね!なんて言ったか分からないや…。')
どうせならAPIを使って本当の天気を伝えろ?
確かに その通りである。