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实现自动更换ip的方法
May 05 Python
python使用clear方法清除字典内全部数据实例
Jul 11 Python
python常用知识梳理(必看篇)
Mar 23 Python
用Python编写一个简单的CS架构后门的方法
Nov 20 Python
Python3.5装饰器原理及应用实例详解
Apr 30 Python
关于numpy数组轴的使用详解
Dec 05 Python
Python面向对象魔法方法和单例模块代码实例
Mar 25 Python
Python unittest单元测试框架及断言方法
Apr 15 Python
pycharm第三方库安装失败的问题及解决经验分享
May 09 Python
python 下载m3u8视频的示例代码
Nov 11 Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 Python
python 6种方法实现单例模式
Dec 15 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
thinkphp模板继承实例简述
2014/11/26 PHP
PHP封装的HttpClient类用法实例
2015/06/17 PHP
php json_encode与json_decode详解及实例
2016/12/13 PHP
如何在PHP环境中使用ProtoBuf数据格式
2020/06/19 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
一个关于jqGrid使用的小例子(行按钮)
2011/11/04 Javascript
js动态设置鼠标事件示例代码
2013/10/30 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
学习JavaScript设计模式之策略模式
2016/01/12 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
centos 上快速搭建ghost博客方法分享
2018/05/23 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
Python标准库之Sys模块使用详解
2015/05/23 Python
Python爬虫爬取一个网页上的图片地址实例代码
2018/01/16 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
Python虚拟环境的创建和使用详解
2020/09/07 Python
python 决策树算法的实现
2020/10/09 Python
上海中网科技笔试题
2012/02/19 面试题
J2EE模式面试题
2016/10/11 面试题
计算机专业大学生的自我评价
2013/11/14 职场文书
机关门卫制度
2014/02/01 职场文书
初中同学聚会邀请函
2014/02/03 职场文书
亲戚结婚的请假条
2014/02/11 职场文书
致垒球运动员加油稿
2014/02/16 职场文书
演讲稿格式范文
2014/05/19 职场文书
建筑投标担保书
2014/05/20 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
JS实现简单的九宫格抽奖
2022/06/28 Javascript