年會抽獎程序 張三科技有限公司有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])