Python骰子模拟yes或no函数

2024-03-28 14:58:42 发布

您现在位置:Python中文网/ 问答频道 /正文

为了让would you like to reroll die 1-5的yes或no函数正常工作,我已经被困了好几天了,因为不管我输入什么,它仍然继续前进,如果我输入所有的Y,它仍然会给我I'm sorry. Please only enter Y or N.的错误消息,我想我还需要定义die1-5=随机.randint(1,6)以及,但它没有给我一个没有定义的名称错误。如果我遗漏了什么,请告诉我。你知道吗


Tags: to函数noyouonly定义错误like
2条回答

首先,只需一个骰子就可以了;然后扩大到五个骰子。你知道吗

if keepDie1[0] in 'Nn':
    die1 = random.randint(1,6)

应该能很好地处理你的问题;这是很多程序使用的,只有输入的第一个字母。如果您需要有效性检查,那么使用

if keepDie1[0] in "YyNn":
    ...

还要注意的是,您将输入转换为大写,因此在测试时不可能是“Yes”或“no”。请参阅keep asking until valid以获得对该主题的彻底处理。你知道吗

最后,我建议您检查您的文档。你问玩家是否想重新掷骰子,然后将这些重新掷骰的选择存储为“keepDie”,一个语义相反的名称。你知道吗

你的if子句中没有一个是真的,它们都等同于“用户是否说了yes和no”。我看不出and keepDieX == 'N' or keepDieX == 'No'子句在那里的原因。你知道吗

相关问题 更多 >