何らかの理由により、私のプログラムは、ユーザーの回答にかかわらずダイスを再び回転させ続け、さよならメッセージを印刷しません。プログラムのあなた自身をテストすることができますので、私は以下のコードが含まれます私のプログラムはなぜこのようなことをしていますか?
(Pythonの3)
from random import randint
def rollthedice():
print("The number you rolled was: "+ str(randint(1,6)))
rollthedice()
shouldwecontinue = input("Do you wish to roll again? (y or n) ").lower()
if shouldwecontinue == "y" or "yes":
rollthedice()
elif shouldwecontinue == "n" or "no":
print("Goodbye.")
elif shouldwecontinue != type(str):
print("Sorry the program only accepts 'y' or 'n' as a response.")
所望の効果は、ユーザーがyと入力した場合、それはそれぞれの開始、もう一度サイコロを振りということでなければなりませんプログラム全体を再び一方、ユーザーがnoを入力すると、Goodbyeメッセージが表示されます。
ほとんど毎日このような間違いがありますが、これは非常に一般的です。代わりに '' shouldwecontinue in( "y"、 "yes"): 'を使用してください。 –
@PaulRooney - ほぼ毎日?一日に複数回のように。 >。> – TigerhawkT3
そしてOPでは、サイト上のすべての質問に技術的には適用できない質問タイトルを考えているかもしれません。マニュアルのトラブルシューティングのセクションを読んでいた場合、目次に「何かが間違っていて、それを修正したい」と書かれた20個の同一のエントリがある場合、どのように役立つでしょうか? – TigerhawkT3