Python 双色球彩票系统

Python 双色球彩票系统

双色球彩票系统,系统可以随机产生一组数据,一组彩票数据有六位数,这六位数的的取值范围是0和1。一张彩票是两块钱,用户可以选择购买彩票的张数,若余额充足,用户可以开始游戏,要求从控制台输入6位的0或者1。若用户输入的不对,要求用户重新输入,直到输入成功为止。若中奖的话,中奖金额为购买彩票金额的50倍,若没中奖则打印很遗憾没有中奖!!用户可以选择继续买票或者是退出。买票和退出的时候要求打印剩余金额。余额不足的时候提示用户充值。

我们知道双色球彩票中奖是的号码是随机产生的,所以彩票系统其核心在于产生随机数,那么我们就要用到随机数函数 ,random模块提供随机数函数

思维导向图
双色球彩票系统
定义产生六位随机数函数
def _random():
    """系统产生随机六位数"""
    one = random.randint(0, 1)
    two = random.randint(0, 1)
    three = random.randint(0, 1)
    four = random.randint(0, 1)
    five = random.randint(0, 1)
    six = random.randint(0, 1)
    randomstr = str(one) + str(two) + str(three) + str(four) + str(five) + str(six)
    return randomstr
    
主函数
def main():

    """主函数"""
    print("欢迎来到双色球彩票系统!")
    while 1:
        lucknum = _random()
        start = input("开始游戏:【是】 退出游戏【否】:")
        if start == "是":
            print("游戏开始!")
            # money()  # money 函数用来计算金额 可购买彩票次数
            moneys = int(input("请输入您要充值的金额【存入金额为整数且为偶数】:"))
            times = moneys / 2
            print("您的余额为%d" % moneys)
            if times < 1:
                print("您的余额不足以购买一次彩票!")
                while 1:
                    chose = input("您可以选择【充值】或【退出】:")
                    if chose == "充值":
                        addmoney = int(input("请输入您要充值的金额:"))
                        moneys += addmoney
                        print("您的余额为%d:" % moneys)
                        times = moneys / 2
                        break
                    elif chose == "退出":
                        print("退出游戏中!")
                        time.sleep(2)
                        print("欢迎下次光临!")
                        return  # return 直接结束函数
                        # sys.exit()  # 执行该语句会直接退出程序
                    else:
                        print("输入错误!")
                    break
            print("您还可购买%d张彩票:" % times)  
            while 1:
                count = int(input("您想购买几张彩票:"))
                if count <= times:
                    print("您购买了%d 张彩票" % count)
                    break
                else:
                    print("您的余额不足以购买%d张彩票" % count)

            while 1:
                inputstr = input("输入六位数字 数字仅限于 【0】 和 【1】 如购买多张彩票请用空格分开:")

                inputstrlist = inputstr.split(" ")
                # print(len(inputstrlist))
                if len(inputstrlist) == count:

                    for i in range(len(inputstrlist)):
                        for j in range(6):
                            if (inputstrlist[i][j] == '0' or inputstrlist[i][j] == '1') and len(inputstrlist[i]) == 6:
                                pass
                            else:
                                print("输入错误,请重新输入!")
                                break
                    else:
                        print("输入正确!")
                        print(">>>正在抽奖中<<<")
                        time.sleep(2)
                        for k in range(len(inputstrlist)):
                            moneys = moneys - 2
                            if inputstrlist[k] == lucknum:
                                print("恭喜您中奖了!")
                                moneys += 100
                                print("您的余额为%d" % moneys)
                                print()
                            else:
                                print("很遗憾没有中奖!")
                                print("您的余额为%d" % moneys)
                                print()
                        print("本期号码为:", end="")
                        print(lucknum)
                        break  # 结束输入数字 while循环
                else:
                    print("输入无效!【输入彩票号码次数 超出购买彩票次数应输入的次数!】")
                    print("请重新", end="")
            a = input("是否继续游戏 【是】或【否】:")
            if a == "是":
                pass
            elif a == "否":
                print("欢迎下次光临!")
                break
        elif start == "否":
            print("退出游戏!")
            break
        else:
            print("输入错误!请重新输入!")


if __name__ == '__main__':
    main()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。