python - Python中的循环和选择()函数
问题描述
我是一名新手程序员,我尝试在我的书中编写一个挑战代码,其中包含一个随机获取数字和/或字母的循环来宣布彩票中奖者。
我正在尝试编写以下代码:
- 从一个元组中取出一个随机对象 4 次没有被选择
- 将每个对象存储在列表中
- 打印列表
from random import choice #Import choice() function from the random module
lottery_1 = (1,2,3,4,5,6,7,8,9,'a','b','c','d','e')
lottery_winner = []
for i in range(4): #Takes 4 random numbers and/or letters
random = choice(lottery_1)
if random not in lottery_winner:
lottery_winner.append(pulled_number)
print('$1M Winner\n')
print(lottery_winner)
有时它只选择 2 个字符结果:
$1M Winner
[1, 'e']
>>>
为什么会这样?我可以更改什么以使其选择 4 个字符?
解决方案
这对我有用:
>>> import random
>>> lottery_1 = (1,2,3,4,5,6,7,8,9,'a','b','c','d','e')
>>> random.sample(lottery_1, 4)
[1, 7, 'a', 'e']
>>>
推荐阅读
- excel - 求解器 Excel VBA 整数约束被忽略
- python - 如何在 keras 分类器中使用“召回”作为指标?
- java - 当类路径在引用的库中时,如何将 src 提取为 jar?
- excel - 尝试将数据复制到仪表板,但没有复制,我不知道为什么
- reactjs - 从 url 查询中获取 URL 参数
- node.js - Node.js VSCode 调试器缺少环境变量
- amazon-web-services - 将 CloudWatch 日志存储到 S3(某种结构化格式)
- c++ - 派生类到基类成员变量类型的自动转换
- ios - 带有 Ipad pro IOS 13 的第 8 面墙在请求摄像头访问时循环
- javascript - 如何使用正则表达式过滤用户在 Vuetify 组合框中输入的内容以创建芯片?