抽奖程序:
1、每次抽奖完成,会提示是否继续抽奖,只有输入“是”才继续抽奖
2、抽奖逻辑:
(1)生产0-100的整数,构造成列表
(2)构造三个列表,分别是一等奖、二等奖、三等奖中奖号码
(3)每次生成一个随机数,然后看是否在中奖号码里,如果在,打印一句话:
“恭喜您,第{}次中一等奖,中奖号码是:{}”;已经中奖的号码,下一次不会被抽到

每人可以抽奖三次,抽奖完成后打印出分别1/2/3等奖的中奖号码,然后等待下一次抽奖

代码:

'''
抽奖程序:
1、每次抽奖完成,会提示是否继续抽奖,只有输入“是”才继续抽奖
2、抽奖逻辑:
    (1)生产0-100的整数,构造成列表 
    (2)构造三个列表,分别是一等奖、二等奖、三等奖中奖号码
    (3)每次生成一个随机数,然后看是否在中奖号码里,如果在,打印一句话:
        "恭喜您,第{}次中一等奖,中奖号码是:{}";已经中奖的号码,下一次不会被抽到
    
    每人可以抽奖三次,抽奖完成后打印出分别1/2/3等奖的中奖号码,然后等待下一次抽奖
'''

import random

def lottery():
    # 生成抽奖列表
    # 用集合,一二三等奖的不可以重复
    number = [] # 中奖号码 一共18个
    First_prize = [] # 一等奖 假设一等奖有10个中奖number
    Second_prize = [] # 二等奖 假设二等奖有15个中奖number
    Thire_prize = [] # 三等奖 假设三等奖有20个中奖number

    # 中奖号码
    while len(set(number)) < 45:
        number.append(random.randint(0,100))
        number = list(set(number))

    # 将中奖号码分配给一二三等奖
    while True:
        if len(First_prize) < 10:
            First_prize.append(number.pop())
        elif len(Second_prize) < 15:
            Second_prize.append(number.pop())
        elif len(Thire_prize) < 20:
            Thire_prize.append(number.pop())
        if len(First_prize) == 10 and len(Second_prize) == 15 and len(Thire_prize) == 20:
            break

    return First_prize,Second_prize,Thire_prize

def main():
    # 打印抽奖
    i = 0 # 每个人三次机会
    first_count = 0 # 一等奖中奖次数
    second_count = 0 # 二等奖中奖次数
    third_count = 0 # 三等奖中奖次数
    first = [] # 一等奖中奖列表
    second = [] # 二等奖中奖列表
    third = [] # 三等奖中奖列表

    First_prize,Second_prize,Thire_prize = lottery()

    while i < 3:
        number = random.randint(0,100) # 随机生成一个中奖号码
        if number in First_prize: # 在一等奖列表中
            first_count += 1
            first.append(number)
            First_prize.remove(number)
            print("恭喜您,第{}次中一等奖,中奖号码是:{}".format(first_count,number))
        elif number in Second_prize: # 在二等奖列表中
            second_count += 1
            second.append(number)
            Second_prize.remove(number)
            print("恭喜您,第{}次中二等奖,中奖号码是:{}".format(second_count,number))
        elif number in Thire_prize: # 在二等奖列表中
            third_count += 1
            third.append(number)
            Thire_prize.remove(number)
            print("恭喜您,第{}次中三等奖,中奖号码是:{}".format(third_count,number))
        
        i += 1
    print('一等奖中奖号码:',first)
    print('二等奖中奖号码:',second)
    print('三等奖中奖号码:',third)
    key = input('抽奖结束,输入"是"进行一轮新的抽奖:')
    if key == '是':
        return main()
    else:
        print('游戏结束')


if __name__ == "__main__":
    main()

运行结果:

Python 按概率抽奖 python简单抽奖代码_随机数