まず、あなたのprint
文が到達不能です。詳細はhereです。
#...
if answers == 'store':
print('Going to the store...')
break
elif answers == 'woods':
print('Going to the woods...')
break
#...
次に、2番目のwhile
文は、この方法では意味がありません。入力がstore
またはwoods
とは異なり、ユーザーに別の試みを与える場合にはあなただけのThat is not a valid answer
を印刷したい場合 - その後、あなただけでは、すべてのlists
せず、else
を使用することができます。
print('Do you want to go to the store or woods?')
# no lists
while True:
answers = input()
if answers == 'store':
print('Going to the store...')
break
elif answers == 'woods':
print('Going to the woods...')
break
else:
print('That is not a valid answer')
あなたの代わりにチェックしたい場合は、ユーザーの入力はlists
に遭遇しているかどうか、あなたは裏返しこのin
トリックを行う必要があります... ``永遠に、あなたは変更しないことをループ:
print('Do you want to go to the store or woods?')
lists = ('woods', 'store')
while True:
answers = input()
if answers == 'store':
print('Going to the store...')
break
elif answers == 'woods':
print('Going to the woods...')
break
elif answers not in lists:
print('That is not a valid answer')
else:
# some default case, for example sys.exit() (needs sys to be imported)
あなたは 'リストしばらくない答えであることを理解してください答え帽子のサブループ?これは、while while:whileループの最上位に到達しないことを意味します。 – callyalater
こんにちはC9 Fox - あなたはすでにあなたが行った調査と、あなたが見つけたことを教えていただけますか?たとえば、デバッガでコードをステップ実行しようとしましたか?良いスタックオーバーフローの質問は、あなたがすでに "検索と研究"を行ったことを示す必要があります。詳細については、ヘルプセクションの[How To Ask](http://meta.stackexchange.com/help/how-to-ask)ガイドを参照してください。 –