一、口罩抽签的逻辑

每个人产生对应的抽签码;

开始进行抽签;

公布中签结果;

这次案例写的比较简单,实际生产环境远比这复杂的多,但是万变不离其宗,基本逻辑还是差不多的……

二、口罩抽签的代码

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人名抽签_python3 实现口罩抽签的功能相关推荐

  1. python抽签代码_python3 实现口罩抽签的功能

    一.口罩抽签的逻辑 每个人产生对应的抽签码: 开始进行抽签: 公布中签结果: 这次案例写的比较简单,实际生产环境远比这复杂的多,但是万变不离其宗,基本逻辑还是差不多的-- 二.口罩抽签的代码 impo ...

  2. 基于Python通过OpenCV实现的口罩识别系统理论篇

    基于Python通过OpenCV实现的口罩识别系统理论设计篇 一.项目实现环境 基于Python 3.8.1版本 opencv-python 4.2.0.34版本 需要自己下载OpenCV的库文件,添 ...

  3. 一行Python代码能实现这么多丧心病狂的功能?(代码可复制)

    最近看知乎上有一篇名为<一行 Python 能实现什么丧心病狂的功能?>(https://www.zhihu.com/question/37046157)的帖子,点进去发现一行Python ...

  4. python画并列柱状图-Python实现绘制双柱状图并显示数值功能示例

    本文实例讲述了Python实现绘制双柱状图并显示数值功能.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #! python3 import matplotlib.py ...

  5. python 中文字符串截取,Python实现针对含中文字符串的截取功能示例

    本文实例讲述了Python实现针对含中文字符串的截取功能.分享给大家供大家参考,具体如下: 对于含多字节的字符串,进行截断的时候,要判断截断处是几字节字符,不能将多字节从中分割,避免截断后乱码 下面给 ...

  6. python自增_如何在python语言实现自增和自减功能并显示结果

    在python语言中,跟Java和JavaScript语言不一样,python中没有自增和自减功能,而Java和JavaScript中有.但是,python语言可以使用变量加1或减1替换.下面利用几个 ...

  7. python join函数_一行 Python 代码能实现这么多丧心病狂的功能?

    最近看知乎上有一篇名为<一行 Python 能实现什么丧心病狂的功能?>(https://www.zhihu.com/question/37046157)的帖子,点进去发现一行Python ...

  8. 一行 Python 代码能实现这么多丧心病狂的功能?(代码可复制)

    最近看知乎上有一篇名为<一行 Python 能实现什么丧心病狂的功能?>(https://www.zhihu.com/question/37046157)的帖子,点进去发现一行Python ...

  9. ubuntu下使用python将ppt转成图片_Ubuntu下使用Python实现游戏制作中的切分图片功能...

    本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能.分享给大家供大家参考,具体如下: why 拿到一个人物行走的素材,要用TexturePacker打包.TexturePacke ...

最新文章

  1. Javascript Array对象
  2. CodeForces - 897E Willem, Chtholly and Seniorious(珂朵莉树)
  3. java 类一定要声明成public_类和对象练习题
  4. Linux服务器部署邮件服务器详细操作文档
  5. MFC 定时器使用方式
  6. adpater里写toast_Android开发UI之Toast的使用
  7. 自定义SharePoint Webservice
  8. (转)javascript 内存泄露工具使用
  9. Mac Book Pro中idea常用快捷键
  10. nwjs macOS打包成dmg
  11. 湖南大学应用经济学考研考情与难度、参考书及上岸前辈备考经验
  12. php laravel日志报错,Laravel 文档阅读:错误 日志记录
  13. 史上最难的大学专业 计算机 土木建筑 医学,大学最易挂科的专业,智商不够别报考,不然很难毕业!...
  14. AS | 中大丁涛/田国宝等揭示口腔菌群的差异化输入塑造了与健康状况相关的两种肺型...
  15. 取消notepad++打开.bat文件
  16. 计算机网络:CSMA/CD 与 CSMA/CA
  17. 魔兽世界怀旧服2020年最新服务器列表,2020年2月15日魔兽世界怀旧服服务器的排队等待时间的真实数据...
  18. Mobile Edge Computing —— Paper List
  19. 人脸识别SeetaFace2原理与代码详解
  20. yagmail 发送html,PYTHON发送邮件YAGMAIL的简单实现解析

热门文章

  1. 《A novel non-intrusive eye gaze estimation using cross-ratio under large head motion》论文阅读
  2. MEMS惯性器件选型笔记
  3. 添加个显示器,鼠标移动不自由?
  4. 《React后台管理系统实战:五》产品管理(一)
  5. 美甲有风险 “出手”需谨慎
  6. gms签名不一致_怎么给ios软件签名
  7. Python提取电话号码
  8. S3C2440A时钟(clock)模块介绍
  9. css font-family css 字体 css 字体样式
  10. 移动社群电商,伪命题还是真趋势?