Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用;“随机”;在python程序中。加上;而",&引用;如果;及以英语发言;_Python_Random_While Loop - Fatal编程技术网

使用;“随机”;在python程序中。加上;而",&引用;如果;及以英语发言;

使用;“随机”;在python程序中。加上;而",&引用;如果;及以英语发言;,python,random,while-loop,Python,Random,While Loop,提前为这个问题的性质道歉。我还没有把我的思绪放在循环上 本例是一本针对初学者的书中的家庭作业: 编写一个程序,随机打开不同的幸运饼干并打印每条信息。用户只需点击“回车”即可打开一个又一个cookie 这是我到目前为止所拥有的 import random cookie_number=random.randrange(3)+1 prompt="" while not prompt: prompt=input("Open Cookie") if cookie_number==1: p

提前为这个问题的性质道歉。我还没有把我的思绪放在循环上

本例是一本针对初学者的书中的家庭作业:

编写一个程序,随机打开不同的幸运饼干并打印每条信息。用户只需点击“回车”即可打开一个又一个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\u编号
是在
while
循环之外获得的,因此每次用户按enter键时都是相同的

如果希望在每次迭代中使用不同的
cookie\u编号
,则需要在循环中移动第二行

如果希望用户能够始终打开更多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")

有什么问题吗?如果用户按enter键,则会为
提示符
指定一个长度为零的字符串。由于空字符串是“falsy”,while不会中断。假设该程序应该打印一份财富并退出,您应该在执行
输入(“打开Cookie”)
时删除
。您不关心返回值,只关心用户按enter键进行
input()
return。