Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python彩票程序-如何比较随机列表?_Python - Fatal编程技术网

Python彩票程序-如何比较随机列表?

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_

我正在制作一个彩票程序,在那里,一周内每天都有(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_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))返回两个列表中相同变量的数量。

非常感谢!这帮了大忙。