我是一个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()放进去了--很抱歉。这不是我的问题的根源,因为我在最初编写脚本时确实得到了正确的结果。对不起:-(
发布于 2017-02-14 19:14:45
这个怎么样?
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。
https://stackoverflow.com/questions/42224283
复制相似问题