2017-09-02 17 views
0

「y」で始まる入力がこのゲームを続ける理由を理解しようとしています....「y」または「yes」としか表示されないコードを見ていますが、 'yensdg'、 'yyyy'などに入ることができ、それでもループします。ダイスシミュレータ入力 - Python

アイデア? 'Y' が入力文字列のどこにでも存在している場合のおかげ

from random import randint 
repeat = True 
while repeat: 
    print('You rolled', randint(1,6)) 
    print('Do you want to roll again?') 
    repeat = ('y' or 'yes') in input().lower() 
+0

@vaultah私は毎回誰かがして捕まったドルを持っていた場合Pythonで失敗する疑似自然言語構文... –

+2

input()。lower()の 'y'は、入力文字列のどこにでも 'y'が存在すればtrueを返します。入力が 'thisisarandominputwithy'の場合と同様に、最後に 'y'があるためtrueを返します。 –

+2

最後の行を次のように変更してください:repeat 'input()。lower()[' y '、' yes '] –

答えて

1

入力で()。下の() 'y' は、このステートメントはtrueを返します。入力された場合、それは終わり

変更最後の行までに「Y」を持っているためのような「thisisarandominputwithy」それは、trueを返します:

repeat = input().lower() in ['y', 'yes']