某公司有员工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
执行结果如下