我很难弄明白为什么会这样
到目前为止,我所做的是生成5个随机数为1-20的组。例如,第1组可能有1,16,19;第2组可能有2,6,10,11,15个;诸如此类。我想做的是通过生成一个1-20的随机数来选择一个获胜者,然后我想去掉这组获胜的数字,然后选择另一个随机数作为第二名
一切都很顺利,除非第5组获胜,否则这些数字不会从列表中删除。我是python的初学者,所以我正在努力理解这一点。以下是代码片段:
Winners_List = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
Winning_Number = random.sample(Winners_List, 1)
Winning_Horse = []
for i in Winning_Number:
if i in Horse1:
Winning_Horse = Horse1
elif i in Horse2:
Winning_Horse = Horse2
elif i in Horse3:
Winning_Horse = Horse3
elif i in Horse4:
Winning_Horse = Horse4
else:
Winning_Horse = Horse5
Second_Place_List = [i for i in Winners_List if i not in Winning_Horse]
Second_Place_List
正在生成正确的列表,除非Winning_Horse
=Horse5
有什么原因吗
您的代码存在一些问题,中奖号码是一个只有一个值的列表,因此,for循环不是更好的方法
我的建议是:
到达订单将从获奖者列表中收到一个随机值列表,如下所示:
可变值:
获胜者:20
第二名名单:[12,3,17,18,13,1,19,9,8,10,16,6,2,11,5,15,4,14,7]
这有用吗
相关问题 更多 >
编程相关推荐