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爬虫获取整个站点中的所有外部链接代码示例
Dec 26 Python
python读取中文txt文本的方法
Apr 12 Python
python 高效去重复 支持GB级别大文件的示例代码
Nov 08 Python
我就是这样学习Python中的列表
Jun 02 Python
python实现抠图给证件照换背景源码
Aug 20 Python
基于Python实现拆分和合并GIF动态图
Oct 22 Python
pandas按行按列遍历Dataframe的几种方式
Oct 23 Python
Python中使用filter过滤列表的一个小技巧分享
May 02 Python
python的Jenkins接口调用方式
May 12 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 Python
基于Python的EasyGUI学习实践
May 07 Python
如何使用pdb进行Python调试
Jun 30 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
开源SNS系统-ThinkSNS
2008/05/18 PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
2010/08/01 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
提升PHP性能的21种方法介绍
2013/06/25 PHP
PHP用反撇号执行外部命令
2015/04/14 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
JavaScript编程开发中的五个实用小技巧
2010/07/22 Javascript
jQuery 表单验证扩展(四)
2010/10/20 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
2016/05/27 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
webpack入门+react环境配置
2017/02/08 Javascript
详解微信第三方小程序代开发
2017/06/23 Javascript
Vue使用Proxy监听所有接口状态的方法实现
2019/06/07 Javascript
node.JS路径解析之PATH模块使用方法详解
2020/02/06 Javascript
Vue组件通信$attrs、$listeners实现原理解析
2020/09/03 Javascript
在Python中使用next()方法操作文件的教程
2015/05/24 Python
Python递归函数定义与用法示例
2017/06/02 Python
python实现五子棋小游戏
2020/03/25 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
2020/07/03 Python
CSS3字体效果的设置方法小结
2016/06/13 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
Moda Operandi官网:美国奢侈品电商,海淘秀场T台同款
2020/05/26 全球购物
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
布达拉宫的导游词
2015/02/02 职场文书
民事二审代理词
2015/05/25 职场文书
贷款收入证明范本
2015/06/12 职场文书
公司酒会主持词
2015/07/02 职场文书
毕业班工作总结
2015/08/10 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
MYSQL如何查看操作日志详解
2022/05/30 MySQL
CSS中使用grid布局实现一套模板多种布局
2022/07/15 HTML / CSS