我是一个Python新手,我遇到了一个脚本的麻烦。脚本的一点是要创建一个滚动的随机数1和6之间的脚本看起来像这样的骰子:Python骰子脚本失败
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() - 对不起。这不是我的问题的根源,因为当我最初编写脚本时,我确实做到了。抱歉:-(
什么是预期的行为?可你把它的问题正如你在标准输出中所期望的那样 –
你使用的是什么版本的Python?由于'.script()'的使用,我得到了2.7和3.5的崩溃,这是我以前从未遇到过的。 – asongtoruin
对不起,我的意思是写.strip()我现在修好了。 – Nellington