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 (1)
Oct 31 Python
详解Python的Django框架中的templates设置
May 11 Python
深入解析Python中的urllib2模块
Nov 13 Python
Python制作简单的网页爬虫
Nov 22 Python
Python heapq使用详解及实例代码
Jan 25 Python
python下setuptools的安装详解及No module named setuptools的解决方法
Jul 06 Python
用Python实现随机森林算法的示例
Aug 24 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
Dec 13 Python
Python基础之变量基本用法与进阶详解
Jan 03 Python
python 统计代码耗时的几种方法分享
Apr 02 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定时任务获取微信access_token的方法
2016/10/10 PHP
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
2016/08/01 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
2019/09/19 Javascript
VSCode 配置uni-app的方法
2020/07/11 Javascript
vue router-link 默认a标签去除下划线的实现
2020/11/06 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
Python的垃圾回收机制深入分析
2014/07/16 Python
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
2019/12/27 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
html5+css如何实现中间大两头小的轮播效果
2018/12/06 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
建筑工地大门标语
2014/06/18 职场文书
2016计算机专业毕业生自荐信
2016/01/28 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书
python tkinter模块的简单使用
2021/04/07 Python