Python,双色球模拟改进版

这次主要改进的是,增加了记录功能,使软件能够自动根据以往开奖的记录推测这次最大可能的号码。
# -*- coding: UTF-8 -*-
import random
print("欢迎使用双色球模拟器,现在开始啦!")
print("您的5000元充值已到帐,祝您玩的愉快")

mymoney=5000
chmoney=0
inmoney=5000
pay=0
zhu=0
fmoney=0
iend=1
jiang=[0,0,0,0,0,0,0]
you=[0,0,0,0,0,0,0]
syou=[0,0,0,0,0,0,0]
mind=[999999999999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
#iiiii=[0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3]
lmind=[99999999999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
num=0
jjin={1:100000000,2:30000000,3:3000,4:200,5:10,6:5}
jlj=[0,0,0,0,0,0]

def ifind(list,mix,jc,you):
    lmix=list[1]
    wei=1
    jc=0
    while jc<33:
        jc=jc+1
        if list[jc]>=mix and list[jc]<lmix and you.count(jc)==0:
            lmix=list[jc]
            wei=jc
    return wei

def tj(list,you,llist):
    mix=min(list)
    wei=list.index(mix)
    jc=0
    while jc<6:
        you[jc]=wei
        jc=jc+1
        wei=ifind(list,mix,jc,you[0:jc])
        mix=list[wei]
    you[6]=llist.index(min(llist))

def kaijiang(jiang):
    yy=0
    ii=-1
    while yy<6:
        ii=-1
        while ii==-1 or jiang[0:yy].count(ii)!=0:
            ii=random.randrange(1,34)
        jiang[yy]=ii
        yy=yy+1
    jiang[6]=random.randrange(1,17)

def dengji(you,jiang):
    for jl in jiang[0:5]:
        mind[jl]=mind[jl]+1
    lmind[jiang[6]]=lmind[jiang[6]]+1
    lnum=0
    if you[6]==jiang[6]:lnum=1
    hnum=0
    for mm in jiang[0:5]:
        if you[0:5].count(mm)!=0:
            hnum=hnum+1
    num=lnum+hnum
    if num==7:
        return 1
    elif num==6:
        if lnum==1:
            return 3
        else:
            return 2
    elif num==5:
        return 4
    elif num==4:
        return 5
    elif lnum==1:
        return 6
    else:
        return 0

while iend:
    pay=0;zhu=0;chmoney=0;num=0
    print("您现在的资金还有%d元"%mymoney)
    print("请输入您想要的选项的序号")
    print("1-充值,2-我来选号,3-重复上一次投注,4-重复上次开奖内容投注,5-随机选号,6-推荐次序,7-取钱结束")
    num=int(input())
    if num==1:
        while chmoney<=0:
            print("请输入您想要充值的金额")
            chmoney=int(input())
            if chmoney<=0:
                print("充值金额错误,请重新输入")
        else:
            print("成功充值%d元,谢谢您的支持"%chmoney)
            mymoney=mymoney+chmoney
            inmoney=inmoney+chmoney
            print("您现有%d元,总共充值%d元,谢谢您的支持"%(mymoney,inmoney))
    elif num==2 or num==3 or num==4 or num==5:
        if num==2:
            ballnum=1
            ball=0
            while ballnum<6:
                while (ball<1 or ball>33):
                    print("请输入第%d个红球的号码1-33"%ballnum)
                    ball=int(input())
                    if (ball<1 or ball>33):
                        print("输入有误,重新输入")
                else:
                    print("选球成功")
                    you[ballnum-1]=ball
                    ballnum=ballnum+1
                    ball=0
            while ball<1 or ball>16:
                print("输入蓝球号码:")
                ball=int(input())
                if ball<1 or ball>16:print("输入有误,重新输入")
            else:
                print("选球成功")
                you[6]=ball
                ballnum=1
                ball=0
            while zhu<=0 :
                print("请输入您的注数:")
                zhu=int(input())
                if zhu<=0:
                    print("您的输入有误")
                    zhu=0
                else:
                    pay=2*zhu
                    if pay>mymoney:
                        print("您的余额不足,请重新下注")
                        pay=0;zhu=0
            else:
                print("下注成功,共支付:%d元"%pay)
                print("原有余额为:%d"%mymoney)
                mymoney=mymoney-pay
                print("现有余额为:%d"%mymoney)
        elif num==3:
            ii=0
            for mm in syou:
                you[ii]=mm
                ii=ii+1
            while zhu<=0 :
                print("请输入您的注数:")
                zhu=int(input())
                if zhu<=0:
                    print("您的输入有误")
                    zhu=0
                else:
                    pay=2*zhu
                    if pay>mymoney:
                        print("您的余额不足,请重新下注")
                        pay=0;zhu=0
            else:
                print("下注成功,共支付:%d元"%pay)
                print("原有余额为:%d"%mymoney)
                mymoney=mymoney-pay
                print("现有余额为:%d"%mymoney)
        elif num==4:
            ii=0
            for mm in jiang:
                you[ii]=mm
                ii=ii+1
            while zhu<=0 :
                print("请输入您的注数:")
                zhu=int(input())
                if zhu<=0:
                    print("您的输入有误")
                    zhu=0
                else:
                    pay=2*zhu
                    if pay>mymoney:
                        print("您的余额不足,请重新下注")
                        pay=0;zhu=0
            else:
                print("下注成功,共支付:%d元"%pay)
                print("原有余额为:%d"%mymoney)
                mymoney=mymoney-pay
                print("现有余额为:%d"%mymoney)
        elif num==5:
            kaijiang(you)
            while zhu<=0 :
                print("请输入您的注数:")
                zhu=int(input())
                if zhu<=0:
                    print("您的输入有误")
                    zhu=0
                else:
                    pay=2*zhu
                    if pay>mymoney:
                        print("您的余额不足,请重新下注")
                        pay=0;zhu=0
            else:
                print("下注成功,共支付:%d元"%pay)
                print("原有余额为:%d"%mymoney)
                mymoney=mymoney-pay
                print("现有余额为:%d"%mymoney)
        kaijiang(jiang)
        re=dengji(you,jiang)
        print("您的红球号码为",you[0:5],"蓝球:",you[6])
        print("开奖红球号码为",jiang[0:5],"蓝球:",jiang[6])
        kk=0
        for ii in you:
            syou[kk]=ii
            kk=kk+1
        if re==0:
            print("抱歉您没有获奖")
        elif re==1:
            print("恭喜您获得了一等奖,奖金一亿元,正在下发到您的账户")
            print("您原来的账户余额为:%d元"%mymoney)
            mymoney=mymoney+jjin[1]
            print("您现在的账户余额为:%d元"%mymoney)
        else:
            fmoney=jjin[re]*zhu
            print("恭喜您获得了%d等奖,奖金%d元,您的注数为:%d,最终奖金为:%d正在下发到您的账户"%(re,jjin[re],zhu,fmoney))
            print("您原来的账户余额为:%d元"%mymoney)
            mymoney=mymoney+fmoney
            print("您现在的账户余额为:%d元"%mymoney)
    elif num==6:
        cs=0
        zhu=0
        jc=0
        myjj=0
        zjcs=0 
        nun=0
        while nun<6:
            jlj[nun]=0
            nun=nun+1
        while cs<1 :
                print("请输入您要开奖的次数:")
                cs=int(input())
                if cs<1:
                    print("您的输入有误")
                    cs=0
        else:
                print("预约成功,您需要:%d次"%cs)
        while zhu<=0 :
                print("请输入您的注数:")
                zhu=int(input())
                if zhu<=0:
                    print("您的输入有误")
                    zhu=0
                else:
                    pay=2*zhu*cs
                    if pay>mymoney:
                        print("您的余额不足,请重新下注")
                        pay=0;zhu=0
        else:
                print("下注成功,共支付:%d元"%pay)
                print("原有余额为:%d"%mymoney)
                mymoney=mymoney-pay
                print("现有余额为:%d"%mymoney)
        while jc<cs:
            jc=jc+1
            #print("正在进行第%d次购买"%jc)
            tj(mind,you,lmind)
            kaijiang(jiang)
            re=dengji(you,jiang)
            if re!=0:jlj[re-1]=jlj[re-1]+1
            #print("您的红球号码为",you[0:5],"蓝球:",you[6])
            #print("开奖红球号码为",jiang[0:5],"蓝球:",jiang[6])
            kk=0
            for ii in you:
               syou[kk]=ii
               kk=kk+1
            if re==0:
               #print("抱歉您没有获奖")
               pass
            elif re==1:
               #print("恭喜您获得了一等奖,奖金一亿元,正在下发到您的账户")
               #print("您原来的账户余额为:%d元"%mymoney)
               mymoney=mymoney+jjin[1]
               myjj=myjj+jjin[1]
               zjcs=zjcs+1
               #print("您现在的账户余额为:%d元"%mymoney)
            else:
               fmoney=jjin[re]*zhu
               #print("恭喜您获得了%d等奖,奖金%d元,您的注数为:%d,最终奖金为:%d正在下发到您的账户"%(re,jjin[re],zhu,fmoney))
               #print("您原来的账户余额为:%d元"%mymoney)
               mymoney=mymoney+fmoney
               myjj=myjj+fmoney
               zjcs=zjcs+1
               #print("您现在的账户余额为:%d元"%mymoney)
        print("\n\n恭喜您中奖%d次,购买%d次,中奖金额达%d元\n"%(zjcs,cs,myjj))
        print(jlj)     

    elif num==7:
        iend=0
        print("谢谢您的支持")
        print("本次您共充值:%d元"%inmoney)
        print("您的账户余额:%d元"%mymoney)
        if mymoney>inmoney:
            print("您此次共赢取%d元"%(mymoney-inmoney))
        elif mymoney==inmoney:
            print("您此次输赢相当")
        else:
            print("此次您输了%d元"%(inmoney-mymoney))
    else:
        print("输入错误,重新输入")
本文系作者原创,任何形式的转载、引用请与作者联系,未经授权禁止以任何形式转载、引用

猜你喜欢

转载自blog.csdn.net/qq_39091354/article/details/76448513