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 __setattr__、 __getattr__、 __delattr__、__call__用法示例
Mar 06 Python
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
学习Python selenium自动化网页抓取器
Jan 20 Python
python实现维吉尼亚加密法
Mar 20 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
Apr 09 Python
python爬虫解决验证码的思路及示例
Aug 01 Python
Django实现auth模块下的登录注册与注销功能
Oct 10 Python
Python加密模块的hashlib,hmac模块使用解析
Jan 02 Python
Python bytes string相互转换过程解析
Mar 05 Python
基于python实现简单网页服务器代码实例
Sep 14 Python
python 动态绘制爱心的示例
Sep 27 Python
python中把元组转换为namedtuple方法
Dec 09 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实现的贪婪算法实例
2017/10/17 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
2011/11/14 Javascript
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
2012/10/11 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
ie7+背景透明文字不透明超级简单的实现方法
2014/01/17 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
jquery+html5制作超酷的圆盘时钟表
2015/04/14 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
浅谈node模块与npm包管理工具
2018/01/03 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
2019/04/17 Javascript
python中json格式数据输出的简单实现方法
2016/10/31 Python
详解python3百度指数抓取实例
2016/12/12 Python
使用python进行文本预处理和提取特征的实例
2018/06/05 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
Python常用数据类型之间的转换总结
2019/09/06 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
澳大利亚有机化妆品网上商店:The Well Store
2020/02/20 全球购物
工作中个人的自我评价
2013/12/31 职场文书
大学生学习自我评价
2014/01/13 职场文书
信访工作汇报材料
2014/10/27 职场文书
会计试用期自我评价
2015/03/10 职场文书
员工旷工检讨书
2015/08/15 职场文书
销区经理年终述职报告模板
2019/11/28 职场文书
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android