年会抽奖程序
张三科技有限公司有300员⼯,开年会抽奖,奖项如下:
⼀等奖3名,泰国5⽇游
⼆等奖6名,Iphone⼿机
三等奖30名,避孕套⼀盒
规则:
1. 共抽3次,第⼀次抽3等奖,第2次抽2等奖,第3次压轴抽1等奖
2. 每个员⼯限中奖⼀次,不能重复
思路:
1.⽣成⼀个员⼯列表,⽤random模块从⾥⾯取随机值
2. 取完值之后,⽴刻从员⼯⼤列表⾥把中奖⼈删掉,即可防⽌其再次中奖
代码实现:
import random import string staff_list = [] #员工列表 num_sample = string.digits + string.ascii_uppercase #统计员工列表 for i in range(300): staff_ID_ascii = random.choice(string.ascii_uppercase) staff_ID = f"ID_{staff_ID_ascii}-{''.join(random.sample(num_sample,5))}" staff_list.append(staff_ID) print(i + 1,staff_ID) count = 300 print("\nFir_Prize:") for i in range(3): index = random.randint(1,count + 1 - i) print(staff_list[index]) staff_list.remove(staff_list[index]) count -= 3 print("\nSec_Prize:") for i in range(6): index = random.randint(1,count + 1 - i) print(staff_list[index]) staff_list.remove(staff_list[index]) count -= 6 print("\nThi_Prize:") for i in range(30): index = random.randint(1,count + 1 - i) print(staff_list[index]) staff_list.remove(staff_list[index])