python - 在 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")
解决方案
您的代码的问题是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")
推荐阅读
- javascript - 打字稿 - 未定义命名空间问题
- c++ - 无法在 Visual Studio Community 2019 中读取项目文件“project.vcxproj”。找到了意外的令牌“s”?
- amazon-web-services - 如何定期运行 AWS 死信队列?
- git - git log 中不存在提交哈希
- javascript - 如何使用来自 URL 的 JSON 数据集填充 HTML 表
- css - 如何创建插入文本阴影?
- node.js - WebDriver JS 强制使用本地“selenium-webdriver”
- c++ - 解析 .dbc 文件并生成 C++ 代码以表示每个消息的类/结构(针对目标 ECU)
- python - iloc 是否使用索引或行的位置
- azure - 在多区域中创建虚拟网络并为负载平衡创建 Azure LB