Python彩票程序-如何比较随机列表?
我正在制作一个彩票程序,在那里,一周内每天都有(101000)人随机参加。每张票是6个介于(1,50)之间的随机数,例如:[5,20,45,16,18,34]。有一张随机生成的奖券。 所以我想将所有随机票号与这张奖券进行比较,得到如下输出: 468人知道6人中的0人,351人知道6人中的1人,167人知道6人中的2人。。。等等,这是我的工作,但我在这一点上卡住了Python彩票程序-如何比较随机列表?,python,Python,我正在制作一个彩票程序,在那里,一周内每天都有(101000)人随机参加。每张票是6个介于(1,50)之间的随机数,例如:[5,20,45,16,18,34]。有一张随机生成的奖券。 所以我想将所有随机票号与这张奖券进行比较,得到如下输出: 468人知道6人中的0人,351人知道6人中的1人,167人知道6人中的2人。。。等等,这是我的工作,但我在这一点上卡住了 import random lucky_number1 = random.sample(range(1, 50), 1) lucky_
import random
lucky_number1 = random.sample(range(1, 50), 1)
lucky_number2 = random.sample(range(1, 50), 1)
lucky_number3 = random.sample(range(1, 50), 1)
lucky_number4 = random.sample(range(1, 50), 1)
lucky_number5 = random.sample(range(1, 50), 1)
lucky_number6 = random.sample(range(1, 50), 1)
picked = []
def draw():
lucky_numbers = [lucky_number1, lucky_number2, lucky_number3, lucky_number4 ,lucky_number5 ,lucky_number6]
return lucky_numbers
print("Lucky Numbers:", draw())
def play_week():
totalpeople = 0
import random
people = []
for a in range(0,7):
a = random.randint(10,100)
people.append(a)
print("daily people in a week :" ,people)
totalpeople = totalpeople + sum(people)
played_tickets = []
for i in range(totalpeople):
n = random.sample(range(1,50), 6)
played_tickets.append(n)
print("Number of tickets: " ,len(played_tickets))
return played_tickets
play_week()
def decide_winners(played_tickets, lucky_numbers):
right_guesses = [468 ,351 ,167 ,35 ,13 ,2]
谢谢。让我们先看一下您的代码<代码>幸运数字1-6可以替换为
幸运数字=随机。样本(范围(1,50),6)
并合并到draw()
中,无需重复导入
import random
def draw():
lucky_numbers = random.sample(range(1, 50), 6)
return lucky_numbers
def play_week():
people = []
for a in range(0,7):
a = random.randint(10,100)
people.append(a)
print("daily people in a week :" ,people)
totalpeople = sum(people)
played_tickets = []
for i in range(totalpeople):
n = random.sample(range(1,50), 6)
played_tickets.append(n)
print("Number of tickets: " ,len(played_tickets))
decide_winners(played_tickets)
def decide_winners(played_tickets):
lucky_nums = draw()
right_guesses = [0 ,0 ,0 ,0 ,0 ,0]
for i in played_tickets:
match = len(set(i) & set(lucky_nums))
if match != 0:
right_guesses[match - 1] += 1
print(right_guesses)
play_week()
计算数字时,首先要绘制()并比较两个列表。这里len(set(A)和set(B))返回两个列表中相同变量的数量。非常感谢!这帮了大忙。