张三科技有限公司有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

python抽奖简单小程序游戏_python——(分别用两种方式实现)公司年会抽奖小程序...相关推荐

  1. 微信小程序生成二维码的两种方式

    微信小程序生成二维码的两种方式 2020/11/10 第一种,利用网络api自动生成 <image class="xin-erma" src="{{'https:/ ...

  2. python安装环境傻瓜式安装_Python环境安装(两种方式)

    Python环境安装 前言 安装Python环境我个人知道的有两种方式: 1.直接安装Python 2.使用Anaconda进行环境的配置 个人还是比较喜欢第二种方式,毕竟在Anaconda可以创建不 ...

  3. 帝国cms百度小程序接入自然搜索的两种方式看看哪个更适合你

    通常一个网站在制作百度小程序后,向百度推送资源或者网站地图通常有两种情况.下面将分别对两种情况做一些接入要求说明. 第一.继承原有的h5资源,这个是有一些说头的.下面来讲一下这个内容 自我检查,网站是 ...

  4. python舵机控制程序_树莓派PWM控制舵机的两种方式

    PWM控制舵机简介 通常情况下,伺服电机(舵机)是由一个标准的直流系统和一个内部反馈控制装置(一个减速齿轮和电位计)来组成的.伺服电机(舵机)的主要作用是将齿轮轴旋转到一个预定义的方向上.伺服电机(舵 ...

  5. idea中java程序打jar包的两种方式(超详细)

    java程序打成的jar包有两种类型,一种是可直接执行的runnable jar文件,另一种是包含多个主类,运行时需要指定主类全类名的jar包,下面我们细说在idea中两种jar包的打包方法及执行ja ...

  6. 微信小程序获取用户信息的两种方式

    1.只获取头像和昵称(不能将用户信息返回给后端) <open-data class="tx" type="userAvatarUrl"></o ...

  7. python word.documents.open报错_Python:读取两种Word文件简述及文件未能引发事件错误...

    Python 中可以读取 word 文件的库有 python-docx 和 pywin32. 优点缺点python-docx跨平台只能处理 .docx 格式,不能处理.doc格式pywin32仅限 w ...

  8. 小程序跳入外部链接 两种方式

    跳外链要用到微信小程序提供的组件<web-view></web-view> 1.首先新建一个<web-view src='https://shop.zhongbaouni ...

  9. 微信小程序封装wx.request接口(两种方式)

    方式一:在根目录新建一个api.js的文件用于存放wx.request的代码 api.js const app = getApp(); let postApi = function (apiUrl, ...

  10. python+selenium web浏览器全屏长截图的两种方式

    1.此方法只适用于能够无头方式运行的浏览器,比如:chrome def get_image(url,pic_name):# chromedriver的路径chromedriver = r"D ...

最新文章

  1. hdu3829(最大独立集)
  2. CSS/font-size和line-height属性继承的研究
  3. ulipad 编辑器下载
  4. Java设计模式-七大设计原则
  5. CNN----卷积为何能提取图像特征
  6. matlab求解复数方程组,【求解】matlab求解非齐次方程组,但是系数矩阵是复数,求帮忙...
  7. 每天一道LeetCode-----化简路径
  8. 类路径是什么意思_甲状腺结节4a类严重吗,是什么意思?怎么治疗需要手术吗?一文解答...
  9. oracle使用with as提高查询效率
  10. 011 Android TabLayout+ViewPager实现顶部滑动效果(多个页面)
  11. hibernate4中主要的配置文件配置
  12. C#/.NET 通过代码一键清理IE缓存文件/强制重置IE设置
  13. OpenCV C++案例实战二十三《网孔检测》
  14. 种草平台--持续更新
  15. 【Graphene OS】Manifest Syntax文件详解
  16. entity framework 新手入门篇(3)-entity framework实现orderby,count,groupby,like,in,分页等...
  17. mysql查询姓名第二个字_第二篇:MySQL中SELECT查询语句总结
  18. 航天工业出版社C语言答案,c语言实验答案桂林航天工业高等学校
  19. 蓝牙系统中的主机与控制器
  20. What’s the value created by bitcoin?

热门文章

  1. 【Java】一文搞懂 Java 中的枚举,写得非常好!
  2. 【Java Netty】Java NIO position limit capacity 以及 BufferUnderflowException
  3. javacc解析json报错
  4. 20-172-040-安装-Flink单机安装 flink-1.7.2-bin-hadoop27-scala_2.11
  5. SpringMVC : SpringMVC注解
  6. 【hive】hive(hive cli)中显示列名,不带表名
  7. MySQL实现时间按月,日,小时分组查询
  8. spring之Bean的生命周期
  9. java ee 员工管理系统,fb3492 javaEE_原生Servlet_MySql企业员工信息管理系统的设计与实现,java源码含论文与答辩PPT...
  10. MySQL学习-排序与分组函数