python实战--年会抽奖

某公司有员工300,年会抽奖需求如下:

一等奖3名, 奖品xxx

二等级6名,奖品xxxx

三等级30名,奖品xxx

要求:

1、共抽3次,第一次抽三等级,第二次抽二等奖,第三次抽一等奖

2、每个员工限中奖一次,不能重复

刚入门自己写的如下:如有不对或者更好的方法请各位大神指点~ 


import random #导入random模块用于生成随机数
employee = list(range(300))#生成300个员工id
winner_list = []#定义一个初始化获奖名单
for i in range(3):#抽奖3次设置3次循环
    # ======3等奖====
    if i == 1:
        t3 = random.sample(employee, 30)#使用random.sample生成30个随机数
        if t3 not in winner_list:#判断如果30个随机数不在获奖名单中
            print(f"恭喜编号为", random.sample(employee, 30), "的员工获得了三等奖==大润发100元代金券")#输出获奖名单
            winner_list.append(t3)#将获奖名单的员工编号存进获奖名单中
    # =====2等奖=====
    elif i == 2:
        t2 = random.sample(employee, 6)
        if t2 not in winner_list:
            print(f"恭喜编号为", random.sample(employee, 6), "的员工获得了二等奖===小米手机一部")
            winner_list.append(t2)
    # ======1等奖=====
    else:
        t1 = random.sample(employee, 3)
        if t1 not in winner_list:
            print(f"恭喜编号为", random.sample(employee, 3), "的员工获得了一等奖===mac book pro一台")
            winner_list.append(t1)
            break


执行结果如下

猜你喜欢

转载自blog.csdn.net/qq_42954795/article/details/127360629