如何在Python中使用While循环和随机函数生成器

时间:2019-07-08 18:18:28

标签: python loops while-loop

当列表中的特定元素被随机选择时,我需要使用带有select函数的while循环来终止

我已经成功调用choice()函数来选择一个随机元素,但是当我尝试添加一个while循环时却遇到了无限循环

from random import *


while choice != 3:

    choice([1,2,3,4,5,6])

    print(choice)

    print('damn!')

我遇到无限循环。我需要打印所有随机生成的数字,这些数字不是while循环终止的条件。当达到终止条件时,将显示一个字符串,程序将终止

1 个答案:

答案 0 :(得分:5)

您的代码中存在一些问题。

  1. 您的变量名choice隐藏了函数random.choice,因此最好使用另一个变量名,例如my_choice

  2. 您需要将choice的输出分配给变量才能使用。

  3. 如果您仅打算使用模块中的一个功能,也应该避免使用星号导入,即import *(有关问题的原因,请参见this问题)< / p>

一旦进行了这些更改,您的代码就会正常运行

from random import choice

#Variable to hold choice
my_choice = 0

while my_choice != 3:

    #Assign return value of choice
    my_choice = choice([1,2,3,4,5,6])

    print(my_choice)

print('damn!')
print(my_choice)

示例输出为

5
1
3
damn!
3