首页 > 解决方案 > 在 python prog 中使用“随机”。带有“while”、“if”和 elif”

问题描述

提前为这个问题的 Python 101 性质道歉。我还没有考虑 while 循环。

这个例子是一本书给初学者的家庭作业:

编写一个程序,随机打开不同的幸运饼干并打印每条消息。用户只需点击“输入”即可打开一个又一个cookie。

这是我到目前为止...

import random
cookie_number=random.randrange(3)+1
prompt=""
while not prompt:
    prompt=input("Open Cookie")

if cookie_number==1:
    print("your lucky numbers are 3, 22, 107")

elif cookie_number==2:
    print("you are lucky in love today")

elif cookie_number==3:
    print("buy stocks today")

else:
    print("stay away from MSG")

标签: pythonrandomwhile-loop

解决方案


您的代码的问题是cookie_number在循环之外获得的while,因此每次用户按 Enter 时它都是相同的。

如果您想cookie_number在每次迭代中使用不同的行,则需要将第二行移到循环内。

如果您希望您的用户能够始终打开更多 cookie,您还可以在 while 循环中放置一个始终为真的条件。

像这样的东西:

import random

while True:
    prompt=input("Open Cookie")
    cookie_number=random.randrange(3)+1

    if cookie_number == 1:
        print("your lucky numbers are 3, 22, 107")

    elif cookie_number == 2:
        print("you are lucky in love today")

    elif cookie_number == 3:
        print("buy stocks today")

    else:
        print("stay away from MSG")

推荐阅读