我是一个Python新手,我遇到了一个脚本问题。脚本的要点是创建一个掷骰子,在1到6之间滚动一个随机数。脚本如下所示:
import random
while True:
roll = input("Wanna roll? y/n: ").strip().lower()
if roll == "y":
dice = random.randint(1,6)
print(dice)
else:
again = input("How about now? y/n: ").strip().lower()
if again == "y":
dice = random.randint(1,6)
print(dice)
else:
print(again)
这就是代码。理想情况下,我想要发生的是Python要求"想要滚动?"并且,如果用户输入" y",Python应该返回1到6之间的随机数。这个位工作正常。
但是,如果用户键入" n",我希望Python询问"现在怎么样?"如果用户键入" y",那么我希望Python返回1到6之间的随机数。这个位也可以。
我遇到问题的地方是用户输入" n"对于这个问题"想要滚动?"并且还键入" n"对于第二个问题"现在怎么样?"该程序应该不断询问用户"现在怎么样?"一遍又一遍,直到他最终破裂和类型" y" (此时Python给了他1到6之间的随机数)。然而,会发生什么是Python返回:
n
How about now? y/n:
因此,它会打印用户的答案(" n")以及再次提问。
我无法弄清楚如何让Python重新提出问题"现在怎么样?"没有给出用户输入的答案。
如果这是一个明显的问题和/或格式不正确/不清楚,请道歉。我已经在这几个星期了。
提前致谢!
编辑:脚本的预期行为如下:
"想滚? y / n:"
"现在怎么样? y / n:"
"现在怎么样? y / n:"
"现在怎么样? y / n:"
依此类推,直到用户回答问题"现在怎么样?"用" y"而不是" n",此时Python应返回1到6之间的数字,然后询问用户是否想再次滚动。
编辑2:代码中有错误。当我打算键入.strip()时,我放了.script() - 对不起。这不是我的问题的根源,因为我在最初编写脚本时确实做到了。对不起: - (
答案 0 :(得分:1)
这个怎么样?
import random
while True:
roll = input("Wanna roll? y/n: ").strip().lower()
while roll != "y":
roll = input("How about now? y/n: ").strip().lower()
dice = random.randint(1,6)
print(dice)
在回复y
之前,它会一直询问用户输入内容。