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对象及面向对象技术详解
Jul 19 Python
Python表示矩阵的方法分析
May 26 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
Aug 24 Python
python使用生成器实现可迭代对象
Mar 20 Python
使用Python的turtle模块画国旗
Sep 24 Python
django框架ModelForm组件用法详解
Dec 11 Python
python基于celery实现异步任务周期任务定时任务
Dec 30 Python
Python 之 Json序列化嵌套类方式
Feb 27 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
Mar 24 Python
基于Python爬虫采集天气网实时信息
Jun 05 Python
python suds访问webservice服务实现
Jun 26 Python
学python爬虫能做什么
Jul 29 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小教程之实现链表
2014/06/09 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
基于PHP实现等比压缩图片大小
2016/03/04 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
基于jQuery的history历史记录插件
2010/12/11 Javascript
jQuery之过滤元素操作小结
2013/11/30 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
jquery.cookie实现的客户端购物车操作实例
2015/12/24 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
详解require.js配置路径的用法和css的引入
2017/09/06 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
javascript 原型与原型链的理解及实例分析
2019/11/23 Javascript
原生JavaScript实现滑动拖动验证的示例代码
2019/12/06 Javascript
python基础教程之面向对象的一些概念
2014/08/29 Python
浅谈django中的认证与登录
2016/10/31 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
Python中str.join()简单用法示例
2018/03/20 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
Europcar澳大利亚官网:全球汽车租赁领域的领导者
2019/03/24 全球购物
内容编辑个人求职信
2013/12/10 职场文书
幼儿园教师获奖感言
2014/03/11 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
2015年国庆节慰问信
2015/03/23 职场文书
演讲开场白和结束语
2015/05/29 职场文书
创业计划书之家教托管
2019/09/25 职场文书
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android