假设某公司假设有1000名员工,开年会抽奖,奖项如下:
一等奖2名:8888元红包
二等奖5名:扫地机器人一台
三等奖10名:小型空气净化剂一盒
抽奖规则:
1.共抽三次,第一次抽三等奖,第二次抽二等奖,第三次压轴抽一等奖。
2.每个员工限中奖一次,不得重复
初步代码实现如下,如果抽奖次数和和人数不定,只需修改列表中的元素即可
import random
import faker
fake = faker.Faker(locale='zh_CN')
staff_lst = [fake.name() for i in range(1000)] #随机生成1000个员工
levels_num =[10,5,2]
count = len(levels_num) #抽奖次数
for i in range(count):
prize_lst = random.sample(staff_lst,levels_num[i])
print(f"{count-i}等奖:")
for j in prize_lst:
print(j, end=" ")
staff_lst.remove(j) #抽中奖的员工需要从剩余抽奖名单中删掉,保证不会重复
print()
最终展示结果: