python——(分别用两种方式实现)公司年会抽奖小程序
作者:互联网
张三科技有限公司有300名员工,开年会抽奖,奖项如下
一等奖3名 : 泰国五日游
二等奖6名 :iphone手机
三等奖30名 :避孕套一盒
规则:
1.一共抽3次,第一次抽3等奖,第二次抽2等奖,第三次压轴抽1等奖
2.每个员工限中奖一次
# 张三科技有限公司有300名员工,开年会抽奖,奖项如下 # 一等奖3名 : 泰国五日游 # 二等奖6名 :iphone手机 # 三等奖30名 :避孕套一盒 # 规则: # 1.一共抽3次,第一次抽3等奖,第二次抽2等奖,第三次压轴抽1等奖 # 2.每个员工限中奖一次
A:主要利用for循环方法实现
staff1 = list(range(300))#300名员工总编号 import random count3 = 0 while count3 < 3: num3 = []#存储中奖 n3 = []#编号 put3 = input("请输入go进行第一次抽奖:").strip() if put3 == "go": for i in range(30): number3 = random.choice(staff1)#三等奖的其中一个人 show3 = f"热烈庆祝{number3}号码牌的员工抽中三等奖,获得避孕套一盒" s3 = number3 num3.append(show3) n3.append(s3) print(i + 1, show3) break else: print("无效语法") count3 += 1 else: print("错误过多,已被锁定") staff2 = list(set(staff1).difference(set(n3)))#总人数编号中去除三等奖人员编号 count2 = 0 while count2 < 3: num2 =[] n2 = [] put2 = input("请输入go进行第二次抽奖:").strip() if put2 == "go": for j in range(6): number2 = random.choice(staff2)#二等奖的其中一个人 show2 = f"恭喜{number2}号码牌的员工抽中二等奖,获得iphone手机一个" s2 = number2 num2.append(show2) n2.append(s2) print(j+1, show2) break else: print("无效语法") count2 += 1 else: print("错误过多,已被锁定") staff3 = list(set(staff2).difference(set(n2))) count1 = 0 while count1 < 3: num1 =[] n1 = [] put1 = input("请输入go进行最后一次抽奖:").strip() if put1 == "go": for s in range(3): number1 = random.choice(staff3) show1 = f"恭喜{number1}号码牌的员工抽中以等奖,获得泰国五日游一次" s1 = number1 num1.append(show1) n1.append(s1) print(s+1, show1) break else: print("无效语法") count2 += 1 else: print("错误过多,已被锁定") print("年会结束,祝大家生活愉快。")
B:运用while & random工具实现
staffs = list(range(300)) import random num_of_times = [3,6,30] count = 3 while count > 0: choice = (input(f"请开始抽{count}等奖")).strip() #从staff列表 随机取出30个值 if not choice:continue winner_list = random.sample(staffs,num_of_times[count-1]) # 因为count初始值为3,在num_of_times中第一次三等奖中30人索引为2所以要每次循环减1 print(f"恭喜中了{count}等奖的人") print(winner_list) for i in winner_list: staffs.remove(i)#把中奖的人删除 count -= 1 print("年会结束,祝大家生活愉快")
标签:count,抽奖,年会,python,random,list,go,print,append 来源: https://www.cnblogs.com/zxx1121/p/13045678.html