我正在学习Python,并决定制作一个小骰子游戏。它按预期运行100%,只是想进行一些小改动以使其更加精致,例如,如果你输入的东西不支持,不仅仅是结束。
if answer == 'y':
dice = raw_input('What sorta dice? (D4, D6, D12, D20)')
--if dice = ANYTHING THAT ISN'T A DICE
dice = raw_input('I don't have that, try again!')--
else:
if answer == 'n':
print 'Alright, come back anytime!'
exit()
我只是找不到if dice =问题的答案,我用Google搜索了大约一个小时,很可能我只是不知道正确的术语来正确地提出这个问题。我基本上希望它能说出一些“不正常”的内容然后循环回到“什么样的骰子”
为任何输入人员干杯。
答案 0 :(得分:1)
if dice not in ('D4', 'D6', 'D12', 'D20'):
...
如果您想确保'd4'
之类的内容也被接受:
if dice.upper() not in ('D4', 'D6', 'D12', 'D20'):
...
和 - 正如Delgan所提到的 - 与set
相比,即使只有4个元素,tuple
也不会更快(并且缩放方式越好,元素数量越多)< / p>
if dice.upper() not in {'D4', 'D6', 'D12', 'D20'}:
...