Python - 任何不被接受的语句

时间:2016-12-24 09:40:20

标签: python

我正在学习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搜索了大约一个小时,很可能我只是不知道正确的术语来正确地提出这个问题。我基本上希望它能说出一些“不正常”的内容然后循环回到“什么样的骰子”

为任何输入人员干杯。

1 个答案:

答案 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'}:
    ...