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实现在每个独立进程中运行一个函数的方法
Apr 23 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
Python 数据处理库 pandas进阶教程
Apr 21 Python
python画图系列之个性化显示x轴区段文字的实例
Dec 13 Python
Python实现分段线性插值
Dec 17 Python
Django xadmin开启搜索功能的实现
Nov 15 Python
使用Python的networkx绘制精美网络图教程
Nov 21 Python
Python流程控制常用工具详解
Feb 24 Python
解决IDEA 的 plugins 搜不到任何的插件问题
May 04 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
Jun 18 Python
selenium携带cookies模拟登陆CSDN的实现
Jan 19 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
全文搜索和替换
2006/10/09 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
Google韩国首页图标动画效果
2007/08/26 Javascript
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
javascript生成随机大小写字母的方法
2014/02/20 Javascript
js验证上传图片的方法
2015/05/12 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
跟我学习javascript的prototype使用注意事项
2015/11/17 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
从Python程序中访问Java类的简单示例
2015/04/20 Python
python遍历序列enumerate函数浅析
2017/10/17 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
半年思想汇报
2013/12/30 职场文书
班级聚会策划书
2014/01/16 职场文书
六年级数学教学反思
2014/02/03 职场文书
环保建议书
2014/03/12 职场文书
县级文明单位申报材料
2014/05/23 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
升学宴学生致辞
2015/07/27 职场文书
二十年同学聚会感言
2015/07/30 职场文书
高效课堂教学反思
2016/02/24 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏
《吸血鬼:避世 血猎》官宣4.27发售 系列首款大逃杀
2022/04/03 其他游戏