首页 > 解决方案 > 如何在python中使用带有随机函数生成器的while循环

问题描述

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

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

from random import *


while choice != 3:

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

    print(choice)

    print('damn!')

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

标签: pythonloopswhile-loop

解决方案


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

  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)

样本输出将是

5
1
3
damn!
3

推荐阅读