python实战--年会抽奖

某公司有员工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


执行结果如下

 

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值