骰子模拟器输入 - Python

时间:2017-09-02 20:07:00

标签: python loops

我试图弄清楚为什么以'y'开头的任何输入都会让这个游戏继续进行....看看它只显示'y'或'yes'的代码应该继续下去但是我可以输入'yensdg' ,'yyyy'等,它仍然循环。

有什么想法吗?感谢

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()

1 个答案:

答案 0 :(得分:1)

' Y'在input()。lower()中,如果' y'存在于输入字符串中的任何位置。就像输入是' thisisarandominputwithy'它将返回true,因为它具有' y'最后

将最后一行更改为:

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