首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Dice脚本失败

Python Dice脚本失败
EN

Stack Overflow用户
提问于 2017-02-14 18:53:24
回答 1查看 79关注 0票数 2

我是一个Python新手,在脚本方面遇到了麻烦。脚本的要点是创建一个骰子,在1和6之间掷出一个随机数。脚本看起来像这样:

代码语言:javascript
复制
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返回以下内容:

代码语言:javascript
复制
n
How about now? y/n: 

因此,它打印用户的答案("n"),并再次询问问题。

我不知道如何让Python重新问这个问题:“现在怎么样?”而不需要也给出用户输入的答案。

如果这是一个显而易见的问题和/或格式不正确/不清楚,请道歉。我只做了几个星期。

提前感谢!

编辑:脚本的预期行为如下:

“想要滚动吗? y/n:”

“现在怎么样? y/n:”

“现在怎么样? y/n:”

“现在怎么样? y/n:”

依此类推,直到用户回答问题“现在怎么样?”使用"y“而不是"n",这时Python应该返回一个介于1和6之间的数字,然后询问用户是否想要再次滚动。

编辑2:代码中有一个错误。当我想输入.strip()的时候,我把.script()放进去了--很抱歉。这不是我的问题的根源,因为我在最初编写脚本时确实得到了正确的结果。对不起:-(

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-14 19:14:45

这个怎么样?

代码语言:javascript
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42224283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档