python - 如何在python中使用带有随机函数生成器的while循环
问题描述
当随机选择列表中的特定元素时,我需要使用带有选择功能的 while 循环来终止
我已经成功调用了 choice() 函数来选择一个随机元素,但是当我尝试添加一个 while 循环时,我得到了一个无限循环
from random import *
while choice != 3:
choice([1,2,3,4,5,6])
print(choice)
print('damn!')
我得到一个无限循环。我需要打印所有随机生成的数字,这些数字不是终止 while 循环的条件。当达到终止条件时,将显示一个字符串并终止程序
解决方案
您的代码中存在一些问题。
您的变量名称
choice
会影响函数random.choice,因此最好使用另一个变量名称,例如my_choice
您需要将输出分配给
choice
变量才能使用它。您还应该避免使用星号导入,即
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
推荐阅读
- angularjs - angularjs中的抄送大道
- windows - groovy中的目录遍历不会返回所有目录
- python - 用浮点值检查两个numpy数组元素是否等效
- javascript - resize() 与 document 或 document.body.width
- python - Python:为什么 MRO 中的最后一个类在其 super 的 __init__ 调用中的参数为零,否则会出现运行时异常
- javascript - 相同的功能按钮,但单独使用 Vue 和 Vuetify
- javascript - 将圆形边框转换为可点击功能
- c# - 防止在 Asp.net Web 表单中上传文件
- angular - 动态 href 调用标签 ionic 3 app
- c# - how to show number of users by age group in chart control in Asp.net MVC