一、口罩抽签的逻辑
每个人产生对应的抽签码;
开始进行抽的签,
公布中签结果;
这次案例写的比较简单,实际生产环境远比这复杂的多,但是万变不离其宗,基本逻辑还是差不多的……
二、口罩抽签的代码
进口随机 def get_random_code (num_code): ”“” 生成并返回随机验证码 :param num_code:随机验证码位的数 ”“” list_code=[] 因为我在范围(num_code): #(1)随机生成三种字符 #(1 - 1)随机生成0 ~ 9的数字 num=str(随机的。randint (0, 9)) #(1 - 2)随机生成小写字母 lower_alphabet=科(随机的。randint (97、122)) #(1 - 3)随机生成大写字母 upper_alphabet=科(随机的。randint (65、90)) #(2)再次随机抽取一个字符 random_code=随机的。选择([num、lower_alphabet upper_alphabet]) #(3)保存随机抽取的字符 list_code.append (random_code) 返回" . join (list_code) def main (): #抽签总人数 draw_num=30 #中签的总人数 draw_result_num=10 #总抽签码列表 draw_list=[] #中签的抽签码列表 draw_result_list=[] #(1)模拟生成抽签码,实际应该是每个人自己获取抽签码,现在用循环来模拟 因为我在范围(draw_num): draw_code=get_random_code (6) 而在draw_list draw_code: #重复标签,需要重新生成抽签码 draw_code=get_random_code (6) 其他: #将生成的标签码加入列表 draw_list.append (draw_code) #(2)模拟产生抽签的过程 打印(“总共产生了{}个抽签码:{}”。格式(draw_num draw_list)) 因为我在范围(draw_result_num): #第一:这种方式会总共生成的抽签码给删除,所以还是采用其它方式 # random_index=随机的。randint len (draw_list) (0, 1) # draw_result_list.append (draw_list.pop (random_index)) # NO2: 一个=0 b=len (draw_list) - 1 draw_code=draw_list[随机的。randint (a, b)] 而在draw_result_list draw_code: #重复标签,重新抽的签 draw_code=draw_list[随机的。randint (a, b)] 其他: #将抽中的抽签码加入列表 draw_result_list.append (draw_code) #(3)公布抽签结果 打印(“{}位中签的抽签码如下:“.format (draw_result_num)) 在draw_result_list:项 打印(项) if __name__==癬_main__”: main ()
控制台输出结果:
总共产生了30个抽签码:[‘511 ucz’,‘nAYBf8’,‘6 i92sq’,‘206年fxx’,‘1 wmhcb’,‘sdJUMU’,‘e4A85p’,‘14 ae35’,‘n4xA44’,‘94 i4eg’,‘L8981K’,‘11 wtyn’,‘i5k5Xk’,‘7 s8tf7’,‘cGC4Ku’,‘f8dM40’,‘nBi958’,‘ELDVqz’,‘MQZFJQ’,‘hPPqh6’,‘Qr682E’,‘E2Z4X4’,‘IlmRJJ’,‘J71Pc1’,‘JPZpv8’,‘svAlm3’,‘9 gas9u’,‘v8378K ', ' 116 u2b ', ' x688xP ']
引用>10位中签的抽签码如下:
i5k5Xk
v8378K
e4A85p
J71Pc1
hPPqh6
1 wmhcb
JPZpv8
sdJUMU
9 gas9uMQZFJQ 引用>
到此这篇关于python3实现口罩抽签的功能的文章就介绍到这了,更多相关python3口罩抽签内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
python3实现口罩抽签的功能