python3 实现口罩抽签的功能


Posted in Python onMarch 11, 2020

一、口罩抽签的逻辑

每个人产生对应的抽签码;
开始进行抽签;
公布中签结果;
这次案例写的比较简单,实际生产环境远比这复杂的多,但是万变不离其宗,基本逻辑还是差不多的……

二、口罩抽签的代码

import random


def get_random_code(num_code):
 """
 生成并返回随机验证码
 :param num_code: 随机验证码位数
 """
 list_code = []
 for i in range(num_code):
 # (1)随机生成三种字符
 # (1-1)随机生成0~9的数字
 num = str(random.randint(0, 9))
 # (1-2)随机生成小写字母
 lower_alphabet = chr(random.randint(97, 122))
 # (1-3)随机生成大写字母
 upper_alphabet = chr(random.randint(65, 90))
 # (2)再次随机抽取一个字符
 random_code = random.choice([num, lower_alphabet, upper_alphabet])
 # (3)保存随机抽取的字符
 list_code.append(random_code)
 return "".join(list_code)


def main():
 # 抽签总人数
 draw_num = 30
 # 中签的总人数
 draw_result_num = 10
 # 总抽签码列表
 draw_list = []
 # 中签的抽签码列表
 draw_result_list = []

 # (1)模拟生成抽签码,实际应该是每个人自己获取抽签码,现在用循环来模拟
 for i in range(draw_num):
 draw_code = get_random_code(6)
 while draw_code in draw_list:
  # 重复标签,需要重新生成抽签码
  draw_code = get_random_code(6)
 else:
  # 将生成的标签码加入列表
  draw_list.append(draw_code)

 # (2)模拟产生抽签的过程
 print("总共产生了{}个抽签码:{}".format(draw_num, draw_list))
 for i in range(draw_result_num):
 # NO1:这种方式会总共生成的抽签码给删除,所以还是采用其它方式
 # random_index = random.randint(0, len(draw_list)-1)
 # draw_result_list.append(draw_list.pop(random_index))
 # NO2:
 a = 0
 b = len(draw_list) - 1
 draw_code = draw_list[random.randint(a, b)]
 while draw_code in draw_result_list:
  # 重复标签,重新抽签
  draw_code = draw_list[random.randint(a, b)]
 else:
  # 将抽中的抽签码加入列表
  draw_result_list.append(draw_code)

 # (3)公布抽签结果
 print("{}位中签的抽签码如下:".format(draw_result_num))
 for item in draw_result_list:
 print(item)

if __name__ == '__main__':
 main()

控制台输出结果:

总共产生了30个抽签码:[‘511uCZ', ‘nAYBf8', ‘6I92sq', ‘206FxX', ‘1WMHCb', ‘sdJUMU', ‘e4A85p', ‘14Ae35', ‘n4xA44', ‘94i4eG', ‘L8981K', ‘11wtyN', ‘i5k5Xk', ‘7S8Tf7', ‘cGC4Ku', ‘f8dM40', ‘nBi958', ‘ELDVqz', ‘MQZFJQ', ‘hPPqh5', ‘Qr682E', ‘E2Z4X4', ‘IlmRJJ', ‘J71Pc1', ‘JPZpv8', ‘svAlm3', ‘9GaS9U', ‘v8378K', ‘116u2b', ‘x688xP']

10位中签的抽签码如下:

i5k5Xk
v8378K
e4A85p
J71Pc1
hPPqh5
1WMHCb
JPZpv8
sdJUMU
9GaS9U

MQZFJQ

到此这篇关于python3 实现 口罩抽签的功能的文章就介绍到这了,更多相关python3 口罩抽签内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python写入CSV文件的方法
Jul 08 Python
Python基于PycURL自动处理cookie的方法
Jul 25 Python
Python基于select实现的socket服务器
Apr 13 Python
Python查询IP地址归属完整代码
Jun 21 Python
对Tensorflow中权值和feature map的可视化详解
Jun 14 Python
python搜索包的路径的实现方法
Jul 19 Python
python内存监控工具memory_profiler和guppy的用法详解
Jul 29 Python
python函数的作用域及关键字详解
Aug 20 Python
使用Python制作新型冠状病毒实时疫情图
Jan 28 Python
python 读取二进制 显示图片案例
Apr 24 Python
Python如何用wx模块创建文本编辑器
Jun 07 Python
详解向scrapy中的spider传递参数的几种方法(2种)
Sep 28 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 #Python
Django+boostrap 美化admin后台的操作
Mar 11 #Python
Windows 下python3.8环境安装教程图文详解
Mar 11 #Python
django admin后管定制-显示字段的实例
Mar 11 #Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 #Python
屏蔽Django admin界面添加按钮的操作
Mar 11 #Python
在Mac中PyCharm配置python Anaconda环境过程图解
Mar 11 #Python
You might like
用php实现像JSP,ASP里Application那样的全局变量
2007/01/12 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
PHP实现的自定义图像居中裁剪函数示例【测试可用】
2017/08/11 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
javascript 对象的定义方法
2007/01/10 Javascript
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
JS完成代码前最好对其做5件事
2013/04/07 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
浅析BootStrap中Modal(模态框)使用心得
2016/12/24 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
详解 Python中LEGB和闭包及装饰器
2017/08/03 Python
python实现键盘输入的实操方法
2019/07/16 Python
Python实现多线程/多进程的TCP服务器
2019/09/03 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
2019/09/10 Python
python yield关键词案例测试
2019/10/15 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
2020/02/20 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
html5 学习简单的拾色器
2010/09/03 HTML / CSS
美国电力供应商店/电气批发商:USESI
2018/10/12 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
行政前台岗位职责
2013/12/04 职场文书
护士的岗位职责
2013/12/04 职场文书
培训自我鉴定
2014/01/31 职场文书
健康教育评估方案
2014/05/25 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书