Python专栏:游戏社区(双色球彩票购买和开奖,选择6个红色球号码和1个蓝色球号码。红色球:1~33,蓝色:1~16)

22 篇文章 0 订阅
2 篇文章 0 订阅

游戏社区:

双色球彩票购买和开奖,选择6个红色球号码和1个蓝色球号码。

红色球:1~33,蓝色:1~16

中奖情况如下:


代码如下所示:

import random

class LotteryCenter():

    def __init__(self):

        user_red,user_blue = self.buy()
        com_red,com_blue = self.start()
        inser=set(user_red).intersection(set(com_red))
        count=len(inser)
        flag=user_blue==com_blue
        if flag:
            if count in (0,1,2):
                print("六等奖")
            elif count == 3:
                print("五等奖")
            elif count == 4:
                print("四等奖")
            elif count == 5:
                print("三等奖")
            elif count == 6:
                print("一等奖")
        else:
            if count==4:
                print("五等奖")
            elif count==5:
                print("四等奖")
            elif count==6:
                print("二等奖")
            else:
                print("很遗憾,未中奖")
    def start(self):
        # 随即生成1~16之间的1个数作为蓝色球
        blue = random.randint(1, 16)

        # 随即生成1~33之间的6个数作为红色球(不能重复,序列)
        # 列表  有序   可重复  每生成的一个新数字,需要判断是否已存在
        # 字典  键值对
        # set  无序   不重复   排序
        # 故此,选择set
        # 使用set作为保存红色球的容器,循环生成随机数,添加到set中,直到填满6个

        red_set = set()
        while len(red_set) < 6:
            red_set.add(random.randint(1, 33))
        # 将set中的数据保存到列表中后排序
        red_list = list(red_set)
        red_list.sort()

        print(f"开奖结果为:红色球号码【{red_list}】,蓝色球号码:【{blue}】")
        return red_list,blue

    def buy(self):

         #红色球集合
         red_set=set()
         i=1
         while len(red_set) < 6:#输入6个(符合范围)的数
             red=int(input(f"请输入第{i}红色球号码:"))
             if 0<red<34:
                 if red in red_set:
                     # in  判断是否存在
                     print("该号码已选择!")
                 else:
                     red_set.add(red)
                     i+=1
             else:
                 print("输入范围有误!")
        #转换为列表后排序
         red_list=list(red_set)
         red_list.sort()

         while True:
             blue = int(input("请输入蓝色球号码:"))
             if 0<blue<17:
                 break
             else:
                 print("输入有误!")

         print(f"购买号码为:红色球:【{red_list}】,蓝色球:【{blue}】")
         return red_list,blue


LotteryCenter()

运行结果如下所示:


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值