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

Ste*_*vis 0 python loops while-loop

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

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

from random import *


while choice != 3:

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

    print(choice)

    print('damn!')
Run Code Online (Sandbox Code Playgroud)

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

Dev*_*ngh 5

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

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

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

  3. 您还应该避免使用星号导入,即,import *如果您仅打算使用模块中的一个功能(请查看问题以获取有关它为什么不好的更多详细信息)

完成这些更改后,您的代码即可正常运行

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)
Run Code Online (Sandbox Code Playgroud)

样本输出将是

5
1
3
damn!
3
Run Code Online (Sandbox Code Playgroud)