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从sqlite读取并显示数据的方法
May 08 Python
Python类的动态修改的实例方法
Mar 24 Python
Python Django实现layui风格+django分页功能的例子
Aug 29 Python
Python之数据序列化(json、pickle、shelve)详解
Aug 30 Python
在python里使用await关键字来等另外一个协程的实例
May 04 Python
Python基于tkinter canvas实现图片裁剪功能
Nov 05 Python
windows+vscode安装paddleOCR运行环境的步骤
Nov 11 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
Jan 24 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
Jan 29 Python
django如何自定义manage.py管理命令
Apr 27 Python
Python编程中Python与GIL互斥锁关系作用分析
Sep 15 Python
Python&Matlab实现灰狼优化算法的示例代码
Mar 21 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实现的一段简单概率相关代码
2016/05/30 PHP
PHP静态延迟绑定和普通静态效率的对比
2017/10/20 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
jquery 关于event.target使用的几点说明介绍
2013/04/26 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
jQuery实现二维码扫描功能
2017/01/09 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
python ElementTree 基本读操作示例
2009/04/09 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
超级实用的8个Python列表技巧
2020/08/24 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
植物选择:Botanic Choice
2017/02/15 全球购物
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
企业消防安全制度
2014/02/02 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
考试作弊检讨书
2014/10/21 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
好媳妇事迹材料
2014/12/24 职场文书
幼儿园科学课教学反思
2016/03/03 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
如何利用React实现图片识别App
2022/02/18 Javascript