200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 随机生成双色球号码判断中奖模拟开奖python代码

随机生成双色球号码判断中奖模拟开奖python代码

时间:2023-04-22 21:26:00

相关推荐

随机生成双色球号码判断中奖模拟开奖python代码

# @Author: Gerry Zhao# @Date: -01-23 18:56:47# Last Modified by: Gerry Zhao# Last Modified time: -01-23 18:56:47import random #导入random库,生成随机数的时候要用到red_num_list = []#定义两个空列表,分别用来存放用户选择的红球号码和蓝球号码blue_num_list = []print("请从下方输入您心仪的双色球号码一注~") #呈现提示语for i in range(1, 7): #红球序号1-6号,循环6次一共选择6个红球red_num = int(input(" 请输入红球" + str(i) + ":")) #提示用户输入红球号码,之所以转化为整数是因为不想打印列表时出现引号red_num_list.append(red_num) #将输入的红球号码存放进列表red_num_listred_num_list.sort() #对列表red_num_list中的元素从小到大永久排序,便于阅读结果,增加规范性blue_num=int(input("\n 请输入蓝球:")) #提示用户输入蓝球号码,另起一行和红球号码分开,清晰明了blue_num_list.append(blue_num) #将输入的蓝球号码存放进列表blue_num_list中My_num_list=str(red_num_list)+"-"+str(blue_num_list) #将用户选择的红球号码和蓝球号码连接成字符串作为用户购买的一注双色球号码储存在变量My_num_list中red_ball_list=[] #建立两个空列表,分别用于存放随机生成的红球号码和蓝球号码blue_ball_list=[]red_num_scope=list(range(1,34)) #限定红球号码随机选择的范围,shuffle()函数只能处理列表,不能处理数字范围,所以用list()函数将数字范围转化为列表blue_num_scope=range(1,17)#限定蓝球号码随机选择的范围,choice()函数可处理数字范围for i in range(0,6): #循环6次,每次随机选出一个红球号码,一共选出6个红球号码random.shuffle(red_num_scope) #把红球号码可选范围列表内的元素随机排序,相当于洗牌red_ball=red_num_scope.pop() #删除红球号码选择范围列表内最后一个元素(相当于摸牌,摸了最后一张牌,并且把摸到的牌删除),并将其值储存在变量red_ball中(所删除的元素是随机的,列表内每一个元素被删除的概率是相等的)red_ball_list.append(red_ball) #把选出的元素的值(摸到的牌)添加到列表red_ball_list中(元素的选择是随机的,这个上一步注释已经解释清楚了)。由于选出的元素已经在原列表中被删除,因此下一轮的元素选择范围将不再包括已经选出的号码,这正符合现实中双色球的摇奖过程red_ball_list.sort() #对随机选出的红球号码组成的列表进行从小到大永久排序,便于阅读,增加规范性blue_ball=random.choice(range(1,17))#从1-16数字范围中随机选择一个蓝球号码blue_ball_list.append(blue_ball) #把选出的唯一一个蓝球号码添加到列表blue_ball_list中result_list=str(red_ball_list)+"-"+str(blue_ball_list) #把机器随机选出的6个红球号码和1个蓝球号码连接成字符串作为一注双色球开奖号码储存在变量result_list中print("\n\n您的号码选择为:",My_num_list) #将用户购买的一注双色球号码打印出来print("\n实际开奖号码为:",result_list)#将双色球开奖号码打印出来#接下来将用户购买的号码与实际开奖号码进行对比,判断中奖情况n1=0 #定义两个变量n1和n2,初始值都为0n2=0 #n1代表红球中奖的个数,n2代表蓝球中奖的个数for i in red_num_list:#用两个for循环遍历用户选择的红球号码列表和实际开奖的红球号码列表,如果号码相同,n1的值就增加1for j in red_ball_list:#遍历完成后n1的最终值就是红球号码中奖的个数if i==j:#若是红球一个都没中奖,号码一个都不相同的话,n1的值还是初始值0(表示红球中了0个)n1+=1if blue_num==blue_ball: #如果蓝球中奖n2的值变为1(表示蓝球中了1个),蓝球不中奖n2的值还是初始值0(表示蓝球中了0个)n2=1#下面根据红球号码和蓝球号码中奖的个数(n1和n2的值)来确定中奖等级,并附带说明(瞎写的哈哈O(∩_∩)O~)一起以字符串的形式储存在变量luck中#严格根据福彩双色球的中奖规则所写,包括了所有的红蓝组合以及相对应的中奖情况if n1==6 and n2==1:luck="恭喜您喜中一等奖!快去享受开挂人生~"if n1==6 and n2==0:luck="恭喜您喜中二等奖!生活稍稍滋润~"if n1==5 and n2==1:luck="恭喜您喜中三等奖!可以去吃大餐了~"if n1==5 and n2==0:luck="恭喜您喜中四等奖!去买礼物吧~"if n1==4 and n2==1:luck="恭喜您喜中四等奖!去买礼物吧~"if n1==4 and n2==0:luck="恭喜您喜中五等奖!您可以拿奖金再买五注~"if n1==3 and n2==1:luck="恭喜您喜中五等奖!您可以拿奖金再买五注~"if n1==0 and n2==1:luck="恭喜您喜中六等奖!您可以拿奖金再买两注加一支一块钱的雪糕~"if n1==1 and n2==1:luck="恭喜您喜中六等奖!您可以拿奖金再买两注加一支一块钱的雪糕~"if n1==2 and n2==1:luck="恭喜您喜中六等奖!您可以拿奖金再买两注加一支一块钱的雪糕~"if n1<4 and n2==0:luck="未中奖!请再接再厉,继续买买买~~~祝您下次把大奖收入囊中!"print("\n",luck) #另起一行打印变量luck关联的字符串'''代码的注释有点啰嗦,这完全是为了零基础的学生能够更好的理解代码含义,能够领会程序中的逻辑思维。希望看过这份代码的人能够学到一些函数的具体用法,能够学会一些处理数据的方法。后续还会增加更加人性化的修饰代码,比如输入的号码超出范围怎么办?输入了两个相同的红球号码怎么判断和处理?要想把中奖的号码高亮显示或者以不同颜色显示该怎么处理?关于这些问题的操作后续还会给大家更新!'''

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。