Uma empresa tem 300 funcionários e os requisitos para a loteria da reunião anual são os seguintes:
3 primeiros prêmios, prêmio xxx
Nível 2 6 vencedores, prêmio xxxx
Nível 30, prêmio xxx
Exigir:
1. Um total de 3 sorteios, o primeiro sorteio para a terceira série, o segundo sorteio para o segundo prêmio e o terceiro sorteio para o primeiro prêmio
2. Cada funcionário está limitado a ganhar uma vez e não pode repetir
Acabei de escrever da seguinte forma: Se houver algo errado ou um método melhor, por favor, me dê um conselho ~
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
Os resultados da execução são os seguintes