zoukankan      html  css  js  c++  java
  • 初出茅庐----体育竞技分析

    初出茅庐----模拟比赛

    一、乒乓球比赛模拟分析

    比赛规则:

    1.在一局比赛中,先得11分的一方为胜方;10平后,先多得2分的一方为胜方

    2.在一场比赛中,单打的淘汰赛采用七局四胜制,双打淘汰赛和团体赛采用五局三胜制

    3.注意:团体赛由四局单打,一局双打组成,顺序:一,二,四,五为单打,第三局为双打

    代码中的函数解释

    函数名称 描述
    bsxx() 输出比赛信息
    getinputs1(),getinputs2(),getinputs3() 分别输入单打,双打,团体赛运动员能力值
    oneGame(N,ablity1,ablity2) 进行一局比赛
    allGame(ablity1,ablity2) 一场比赛
    Allgame(n,ablity1,ablity2) 所有比赛
    TTgame(n,ablity1,ablity2) 淘汰赛
    gameover(a,b) 比赛结束条件
    alysis,alysis2,alysis1 比赛结果分析输出
    danda(),shuangda(),tuanti() 单打,双打,团体赛函数

    代码实现如下:

      1 from random import random
      2 def bsxx():
      3     string1="模拟体育竞技分析     模拟人:xiayiLL"
      4     string2="模拟乒乓球竞技分析"
      5     string3="乒乓球比赛规则如下:"
      6     string4="一局比赛:"
      7     string5="先得11分的一方为胜方;10平后,先多得2分的一方为胜方。"
      8     string6="一场比赛:"
      9     string7="单打的淘汰赛采用七局四胜制,双打淘汰赛和团体赛采用五局三胜制。"
     10     string8="注意:团体赛由四局单打,一局双打组成"
     11     string9="顺序:一,二,四,五为单打,第三局为双打"
     12     print(string1)
     13     print()
     14     print(string2)
     15     print(string3)
     16     print(string4)
     17     print(string5)
     18     print(string6)
     19     print(string7)
     20     print(string8)
     21     print(string9)
     22     print()
     23 
     24 def getinputs1():
     25     print()
     26     print("您选择的比赛类型是:单打淘汰赛")
     27     print("为了更好的模拟比赛数据,请输入两位运动员的能力值(0-1之间)")
     28     athlete1=eval(input("请输入第一位运动员能力值:"))
     29     athlete2=eval(input("请输入第二位运动员能力值:"))
     30     n=eval(input("请输入模拟的场次:"))
     31     return athlete1,athlete2,n
     32 
     33 def getinputs2():
     34     print()
     35     print("您选择的比赛类型是:双打淘汰赛")
     36     print("为了更好的模拟比赛数据,请输入四位运动员的能力值(0-1之间)")
     37     print("请输入团队A的运动员能力值")
     38     athlete1=eval(input("请输入第一位运动员能力值:"))
     39     athlete2=eval(input("请输入第二位运动员能力值:"))
     40     print("请输入团队B的运动员能力值")
     41     athlete3=eval(input("请输入第三位运动员能力值:"))
     42     athlete4=eval(input("请输入第四位运动员能力值:"))
     43     n=eval(input("请输入模拟的场次:"))
     44     aver1=(athlete1+athlete2)/2
     45     aver2=(athlete3+athlete4)/2
     46     return aver1,aver2,n
     47 
     48 def getinputs3():
     49     print()
     50     print("您选择的比赛类型是:团体赛")
     51     print("为了更好的模拟比赛数据,请输入五局运动员的能力值(0-1之间)")
     52     print("请按照出场顺序,分别输出运动员的能力值")
     53     print("请输入团队A的运动员能力值")
     54     athlete1=eval(input("请输入第一局运动员能力值:"))
     55     athlete2=eval(input("请输入第二局运动员能力值:"))
     56     athlete3=eval(input("请输入第三局运动员能力值:"))
     57     athlete4=eval(input("请输入第四局运动员能力值:"))
     58     athlete5=eval(input("请输入第五局运动员能力值:"))
     59     print("请输入团队B的运动员能力值")
     60     athlete6=eval(input("请输入第一局运动员能力值:"))
     61     athlete7=eval(input("请输入第二局运动员能力值:"))
     62     athlete8=eval(input("请输入第三局运动员能力值:"))
     63     athlete9=eval(input("请输入第四局运动员能力值:"))
     64     athlete10=eval(input("请输入第五局运动员能力值:"))
     65     n=eval(input("请输入模拟的场次:"))
     66     return athlete1,athlete2,athlete3,athlete4,athlete5,athlete6,athlete7,athlete8,athlete9,athlete10,n
     67     
     68 def oneGame(N,ablity1,ablity2):
     69     score1,score2=0,0
     70     i=0
     71     while not gameover(score1,score2):
     72         if i==0:
     73             for k in range(2):
     74                 if random()>ablity1:
     75                     score2+=1
     76                 else:
     77                     score1+=1
     78             i+=1
     79         if i==1:
     80             for k in range(2):
     81                 if random()>ablity2:
     82                     score1+=1
     83                 else:
     84                     score2+=1
     85             i-=1
     86     return score1,score2
     87 
     88 def allGame(ablity1,ablity2):
     89     N=1
     90     win1,win2=0,0
     91     for i in range(7):
     92         score1,score2=oneGame(N,ablity1,ablity2)
     93         if score1>score2:
     94             win1+=1
     95         else:
     96             win2+=1
     97         N+=1
     98         if win1==4 or win2==4:
     99             break
    100     return win1,win2
    101 
    102 def Allgame(n,ablity1,ablity2):
    103     wins1,wins2=0,0
    104     for i in range(n):
    105         score1,score2=allGame(ablity1,ablity2)
    106         if score1>score2:
    107             wins1+=1
    108         else:
    109             wins2+=1
    110     return wins1,wins2
    111 
    112 def TTgame(n,A1,A2,A3,A4,A5,B1,B2,B3,B4,B5):
    113     teamA,teamB=0,0
    114     A,B=0,0
    115     for i in range(n):
    116         a1,b1=Allgame(1000,A1,B1)
    117         if a1>b1:
    118             A+=1
    119         else:
    120             B+=1
    121         a2,b2=Allgame(1000,A2,B2)
    122         if a2>b2:
    123             A+=1
    124         else:
    125             B+=1
    126         a3,b3=Allgame(1000,A3,B3)
    127         if a3>b3:
    128             A+=1
    129         else:
    130             B+=1
    131         if A>=3:
    132             teamA+=1
    133             A,B=0,0
    134         elif B>=3:
    135             teamB+=1
    136             A,B=0,0
    137         else:
    138             a4,b4=Allgame(1000,A4,B4)
    139             if a4>b4:
    140                 A+=1
    141             else:
    142                 B+=1
    143             if A>=3:
    144                 teamA+=1
    145                 A,B=0,0
    146             elif B>=3:
    147                 teamB+=1
    148                 A,B=0,0
    149             else:
    150                 a5,b5=Allgame(1000,A5,B5)
    151                 if a5>b5:
    152                     A+=1
    153                 else:
    154                     B+=1
    155                 if A>=3:
    156                     teamA+=1
    157                     A,B=0,0
    158                 elif B>=3:
    159                     teamB+=1
    160                     A,B=0,0
    161     return teamA,teamB
    162             
    163 def gameover(a,b):
    164     if a>=11 and (a-b)>=2:
    165         return a
    166     if b>=11 and (b-a)>=2:
    167         return b
    168 
    169 def alysis(n,win1,win2):
    170     print("模拟竞赛分析开始,共模拟{}场比赛".format(n))
    171     print("athlete1单打获得{}场胜利,共占比{:.2f}%".format(win1,win1/n*100))
    172     print("athlete2单打获得{}场胜利,共占比{:.2f}%".format(win2,win2/n*100))
    173     print("分析完毕")
    174 
    175 def alysis2(n,win1,win2):
    176     print("模拟竞赛分析开始,共模拟{}场比赛".format(n))
    177     print("团队A双打获得{}场胜利,共占比{:.2f}%".format(win1,win1/n*100))
    178     print("团队B双打获得{}场胜利,共占比{:.2f}%".format(win2,win2/n*100))
    179     print("分析完毕")
    180     
    181 def alysis1(n,teamA,teamB):
    182     print("模拟竞赛分析开始,共模拟{}场比赛".format(n))
    183     print("团队A获得{}场胜利,共占比{:.2f}%".format(teamA,teamA/n*100))
    184     print("团队B获得{}场胜利,共占比{:.2f}%".format(teamB,teamB/n*100))
    185     print("分析完毕")
    186     
    187 def danda():
    188     ablity1,ablity2,n=getinputs1()
    189     win1,win2=Allgame(n,ablity1,ablity2)
    190     print("模拟单打:")
    191     alysis(n,win1,win2)
    192 
    193 def shuangda():
    194     averablity1,averablity2,n=getinputs2()
    195     win1,win2=Allgame(n,averablity1,averablity2)
    196     print("模拟双打:")
    197     alysis2(n,win1,win2)
    198 
    199 def tuanti():
    200     A1,A2,A3,A4,A5,B1,B2,B3,B4,B5,n=getinputs3()
    201     teamA,teamB=TTgame(n,A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
    202     alysis1(n,teamA,teamB)
    203 
    204 def mian():
    205     bsxx()
    206     x=1
    207     while x==1:
    208         print("请选择模拟比赛类型")
    209         print("一、单打淘汰赛")
    210         print("二、双打淘汰赛")
    211         print("三、团体赛")
    212         print("四,结束模拟分析")
    213         choice1=eval(input("请输入对应比赛类型的阿拉伯数字编号:"))
    214         if choice1==1:
    215             danda()
    216             print()
    217         elif choice1==2:
    218             shuangda()
    219             print()
    220         elif choice1==3:
    221             tuanti()
    222             print()
    223         elif choice1==4:
    224             print("模拟程序结束")
    225             break
    226         else:
    227             print("输入错误,请重新输入")
    228             print()
    229 mian()
    230     
    231     

     

    文件已制作成为exe程序

    界面如图所示:

     

    进行输入后,结果如图所示:

     

    二、篮球比赛模拟分析

    比赛规则如下:

    1.篮球比赛由两个队参加,每队出场5名队员。每队目标是在对方球篮得分,并阻止对方队在本方球篮得分。

    2.比赛采用4节制,得分最多的队伍获胜。

    3.若比赛结束,比分仍然相同,则进入加时赛

    加时赛规则如下:
    加时赛分为5分钟一场,球权由跳球决定,在时限内比分高的一方获胜,若时限内还未分出胜负,则继续进行加时赛,球权由第一次加时赛未获球权方拥有,如此往返,直至分出胜负为止。

    代码实现如下:

     

    import random
    def bsxx():#比赛信息输出
        string1="模拟体育竞技分析     模拟人:xiayiLL"
        string2="模拟篮球竞技分析"
        string3="篮球比赛规则如下:"
        string4="篮球比赛由两个队参加,每队出场5名队员。每队目标是在对方球篮得分,并阻止对方队在本方球篮得分。"
        string5="比赛采用4节制,得分最多的队伍获胜。"
        string6="若比赛结束,比分仍然相同,则进入加时赛"
        string7="加时赛规则如下:"
        string8="加时赛分为5分钟一场,球权由跳球决定,在时限内比分高的一方获胜,若时限内还未分出胜负,则继续进行加时赛,球权由第一次加时赛未获球权方拥有,如此往返,直至分出胜负为止。"
        print(string1)
        print()
        print(string2)
        print(string3)
        print(string4)
        print(string5)
        print(string6)
        print(string7)
        print(string8)
        print()
    
    def getinput():#获取数据
        print("为了更好的模拟比赛数据,请输入两支队伍的运动员的能力值(0-1之间)")
        print("请输入队伍A的各位运动员能力值")
        A1=eval(input("请输入第一位运动员的综合能力值:"))
        A2=eval(input("请输入第二位运动员的综合能力值:"))
        A3=eval(input("请输入第三位运动员的综合能力值:"))
        A4=eval(input("请输入第四位运动员的综合能力值:"))
        A5=eval(input("请输入第五位运动员的综合能力值:"))
        print("请输入队伍B的各位运动员能力值")
        B1=eval(input("请输入第一位运动员的综合能力值:"))
        B2=eval(input("请输入第二位运动员的综合能力值:"))
        B3=eval(input("请输入第三位运动员的综合能力值:"))
        B4=eval(input("请输入第四位运动员的综合能力值:"))
        B5=eval(input("请输入第五位运动员的综合能力值:"))
        n=eval(input("请输入模拟的次数:"))
        return A1,A2,A3,A4,A5,B1,B2,B3,B4,B5,n
    
    def onejie(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5):#一节比赛的得分
        scoreA,scoreB=0,0
        list1=(2,3)
        for k in range(5):#设每个人在一节中能有5次投篮的机会
            if random.random()<=A1:
                scoreA+=random.choice(list1)#投中2分球或者3分球的几率是随机的
            if random.random()<=A2:
                scoreA+=random.choice(list1)
            if random.random()<=A3:
                scoreA+=random.choice(list1)
            if random.random()<=A4:
                scoreA+=random.choice(list1)
            if random.random()<=A5:
                scoreA+=random.choice(list1)
            if random.random()<=B1:
                scoreB+=random.choice(list1)
            if random.random()<=B2:
                scoreB+=random.choice(list1)
            if random.random()<=B3:
                scoreB+=random.choice(list1)
            if random.random()<=B4:
                scoreB+=random.choice(list1)
            if random.random()<=B5:
                scoreB+=random.choice(list1)
        return scoreA,scoreB
    
    def onegame(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5):#一场比赛的总得分
        sA1,sB1=onejie(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
        sA2,sB2=onejie(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
        sA3,sB3=onejie(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
        sA4,sB4=onejie(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
        scoreA=sA1+sA2+sA3+sA4
        scoreB=sB1+sB2+sB3+sB4
        return scoreA,scoreB
    
    def allgame(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5,n):#模拟所有场次比赛
        teamA,teamB,p=0,0,0
        for i in range(n):
            scoreA,scoreB=onegame(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
            if scoreA>scoreB:
                teamA+=1
            elif scoreA<scoreB:
                teamB+=1
            else:
                t1,t2=overtime(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
                teamA+=t1
                teamB+=t2
        return teamA,teamB
    
    def overtime(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5):#设加时赛中,每人能投2次球
        scoreA,scoreB,t1,t2,p1,p2=0,0,0,0,0,0
        list1=(2,3)
        for k in range(2):
            if random.random()<=A1:
                scoreA+=random.choice(list1)
            if random.random()<=A2:
                scoreA+=random.choice(list1)
            if random.random()<=A3:
                scoreA+=random.choice(list1)
            if random.random()<=A4:
                scoreA+=random.choice(list1)
            if random.random()<=A5:
                scoreA+=random.choice(list1)
            if random.random()<=B1:
                scoreB+=random.choice(list1)
            if random.random()<=B2:
                scoreB+=random.choice(list1)
            if random.random()<=B3:
                scoreB+=random.choice(list1)
            if random.random()<=B4:
                scoreB+=random.choice(list1)
            if random.random()<=B5:
                scoreB+=random.choice(list1)
        if scoreA>scoreB:
            t1+=1
        elif scoreA<scoreB:
            t2+=1
        else:
            t1,t2=overtime(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
        return t1,t2
    
        
    '''def overtime(tA,tB):#罚球投射
        list11=(0,1)
        team1,team2,t1,t2=0,0,0,0
        p=random.choice(list11)
        if p==0:
            if random.random()<=tA:
                team1=1
            else:
                if random.random()<=tB:
                    team2=1
        elif p==1:
            if random.random()<=tB:
                team2=1
            else:
                if random.random()<=tA:
                    team1=1
        if team1>team2:
            t1=1
        elif team1<team2:
            t2=1
        else:
            t1,t2=overtime(tA,tB)
        return t1,t2
    '''
    def alysis(n,teamA,teamB):
        print("模拟竞赛分析开始,共模拟{}场比赛".format(n))
        print("团队A获得{}场胜利,共占比{:.2f}%".format(teamA,teamA/n*100))
        print("团队B获得{}场胜利,共占比{:.2f}%".format(teamB,teamB/n*100))
        print("分析完毕")
        print()
        
    def main():
        x=1
        bsxx()
        while x==1:
            print("开始模拟请按1     结束程序请按2")
            i=eval(input())
            if i==1:
                A1,A2,A3,A4,A5,B1,B2,B3,B4,B5,n=getinput()
                teamA,teamB=allgame(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5,n)
                alysis(n,teamA,teamB)
            elif i==2:
                break
            else:
                print("输入错误,请重试")
    
    main()

     

    代码已转化为exe程序

     

     

    界面如图所示:

    输入数据如图所示:

     

    三、晋级赛模拟分析(采用篮球比赛)

    此次模拟4支队伍比赛,晋级,并且取得胜利

    代码实现如下:

     

      1 import random
      2 def bsxx():#比赛信息输出
      3     string1="模拟体育竞技分析     模拟人:xiayiLL"
      4     string2="模拟篮球竞技分析"
      5     string3="篮球比赛规则如下:"
      6     string4="篮球比赛由两个队参加,每队出场5名队员。每队目标是在对方球篮得分,并阻止对方队在本方球篮得分。"
      7     string5="比赛采用4节制,得分最多的队伍获胜。"
      8     string6="若比赛结束,比分仍然相同,则进入加时赛"
      9     string7="加时赛规则如下:"
     10     string8="加时赛分为5分钟一场,球权由跳球决定,在时限内比分高的一方获胜,若时限内还未分出胜负,则继续进行加时赛,球权由第一次加时赛未获球权方拥有,如此往返,直至分出胜负为止。"
     11     print(string1)
     12     print()
     13     print(string2)
     14     print(string3)
     15     print(string4)
     16     print(string5)
     17     print(string6)
     18     print(string7)
     19     print(string8)
     20     print()
     21 
     22 def getinput():#获取数据
     23     print("为了更好的模拟比赛数据,请输入两支队伍的运动员的能力值(0-1之间)")
     24     print("请输入第一支队伍的各位运动员能力值")
     25     A1=eval(input("请输入第一位运动员的综合能力值:"))
     26     A2=eval(input("请输入第二位运动员的综合能力值:"))
     27     A3=eval(input("请输入第三位运动员的综合能力值:"))
     28     A4=eval(input("请输入第四位运动员的综合能力值:"))
     29     A5=eval(input("请输入第五位运动员的综合能力值:"))
     30     print("请输入第二支队伍的各位运动员能力值")
     31     B1=eval(input("请输入第一位运动员的综合能力值:"))
     32     B2=eval(input("请输入第二位运动员的综合能力值:"))
     33     B3=eval(input("请输入第三位运动员的综合能力值:"))
     34     B4=eval(input("请输入第四位运动员的综合能力值:"))
     35     B5=eval(input("请输入第五位运动员的综合能力值:"))
     36     n=eval(input("请输入模拟的次数:"))
     37     return A1,A2,A3,A4,A5,B1,B2,B3,B4,B5,n
     38 
     39 def onejie(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5):#一节比赛的得分
     40     scoreA,scoreB=0,0
     41     list1=(2,3)
     42     for k in range(5):#设每个人在一节中能有5次投篮的机会
     43         if random.random()<=A1:
     44             scoreA+=random.choice(list1)#投中2分球或者3分球的几率是随机的
     45         if random.random()<=A2:
     46             scoreA+=random.choice(list1)
     47         if random.random()<=A3:
     48             scoreA+=random.choice(list1)
     49         if random.random()<=A4:
     50             scoreA+=random.choice(list1)
     51         if random.random()<=A5:
     52             scoreA+=random.choice(list1)
     53         if random.random()<=B1:
     54             scoreB+=random.choice(list1)
     55         if random.random()<=B2:
     56             scoreB+=random.choice(list1)
     57         if random.random()<=B3:
     58             scoreB+=random.choice(list1)
     59         if random.random()<=B4:
     60             scoreB+=random.choice(list1)
     61         if random.random()<=B5:
     62             scoreB+=random.choice(list1)
     63     return scoreA,scoreB
     64 
     65 def onegame(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5):#一场比赛的总得分
     66     sA1,sB1=onejie(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
     67     sA2,sB2=onejie(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
     68     sA3,sB3=onejie(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
     69     sA4,sB4=onejie(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
     70     scoreA=sA1+sA2+sA3+sA4
     71     scoreB=sB1+sB2+sB3+sB4
     72     return scoreA,scoreB
     73 
     74 def allgame(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5,n):#模拟所有场次比赛
     75     teamA,teamB,p=0,0,0
     76     for i in range(n):
     77         scoreA,scoreB=onegame(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
     78         if scoreA>scoreB:
     79             teamA+=1
     80         elif scoreA<scoreB:
     81             teamB+=1
     82         else:
     83             t1,t2=overtime(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
     84             teamA+=t1
     85             teamB+=t2
     86     return teamA,teamB
     87 
     88 def overtime(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5):#设加时赛中,每人能投2次球
     89     scoreA,scoreB,t1,t2,p1,p2=0,0,0,0,0,0
     90     list1=(2,3)
     91     for k in range(2):
     92         if random.random()<=A1:
     93             scoreA+=random.choice(list1)
     94         if random.random()<=A2:
     95             scoreA+=random.choice(list1)
     96         if random.random()<=A3:
     97             scoreA+=random.choice(list1)
     98         if random.random()<=A4:
     99             scoreA+=random.choice(list1)
    100         if random.random()<=A5:
    101             scoreA+=random.choice(list1)
    102         if random.random()<=B1:
    103             scoreB+=random.choice(list1)
    104         if random.random()<=B2:
    105             scoreB+=random.choice(list1)
    106         if random.random()<=B3:
    107             scoreB+=random.choice(list1)
    108         if random.random()<=B4:
    109             scoreB+=random.choice(list1)
    110         if random.random()<=B5:
    111             scoreB+=random.choice(list1)
    112     if scoreA>scoreB:
    113         t1+=1
    114     elif scoreA<scoreB:
    115         t2+=1
    116     else:
    117         t1,t2=overtime(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5)
    118     return t1,t2
    119 
    120 def alysis(n,teamA,teamB):
    121     print("模拟竞赛分析开始,共模拟{}场比赛".format(n))
    122     print("团队A获得{}场胜利,共占比{:.2f}%".format(teamA,teamA/n*100))
    123     print("团队B获得{}场胜利,共占比{:.2f}%".format(teamB,teamB/n*100))
    124     print("分析完毕")
    125     print()
    126 
    127 def alysis1(n,teamA,teamB):
    128     print("模拟竞赛分析开始,共模拟{}场比赛".format(n))
    129     print("团队C获得{}场胜利,共占比{:.2f}%".format(teamA,teamA/n*100))
    130     print("团队D获得{}场胜利,共占比{:.2f}%".format(teamB,teamB/n*100))
    131     print("分析完毕")
    132     print()
    133 
    134 def alysis2(n,teamA,teamB):
    135     print("模拟竞赛分析开始,共模拟{}场比赛".format(n))
    136     print("决赛队伍1获得{}场胜利,共占比{:.2f}%".format(teamA,teamA/n*100))
    137     print("决赛队伍2获得{}场胜利,共占比{:.2f}%".format(teamB,teamB/n*100))
    138     print("分析完毕")
    139     print()
    140 def main():
    141     x=1
    142     bsxx()
    143     while x==1:
    144         print("开始模拟请按1     结束程序请按2")
    145         i=eval(input())
    146         if i==1:
    147             x1=x2=x3=x4=0
    148             print("队伍A:队伍B")
    149             A1,A2,A3,A4,A5,B1,B2,B3,B4,B5,n=getinput()
    150             teamA,teamB=allgame(A1,A2,A3,A4,A5,B1,B2,B3,B4,B5,n)
    151             alysis(n,teamA,teamB)
    152             print("队伍C:队伍D")
    153             C1,C2,C3,C4,C5,D1,D2,D3,D4,D5,m=getinput()
    154             teamC,teamD=allgame(C1,C2,C3,C4,C5,D1,D2,D3,D4,D5,m)
    155             alysis1(m,teamC,teamD)
    156             if teamA>teamB:
    157                 print("队伍A晋级")
    158                 m1,m2,m3,m4,m5=A1,A2,A3,A4,A5
    159                 x1=1
    160             else:
    161                 print("队伍B晋级")
    162                 m1,m2,m3,m4,m5=B1,B2,B3,B4,B5
    163                 x2=1
    164             if teamC>teamD:
    165                 print("队伍C晋级")
    166                 n1,n2,n3,n4,n5=C1,C2,C3,C4,C5
    167                 x3=1
    168             else:
    169                 print("队伍D晋级")
    170                 n1,n2,n3,n4,n5=D1,D2,D3,D4,D5
    171                 x4=1
    172             num1,num2=allgame(m1,m2,m3,m4,m5,n1,n2,n3,n4,n5,1000)
    173             alysis2(1000,num1,num2)
    174             if num1>num2:
    175                 if x1==1:
    176                     print("队伍A取得胜利")
    177                 elif x2==1:
    178                     print("队伍B取得胜利")
    179             else:
    180                 if x3==1:
    181                     print("队伍C取得胜利")
    182                 elif x4==1:
    183                     print("队伍D取得胜利")
    184                 print()
    185         elif i==2:
    186             break
    187         else:
    188             print("输入错误,请重试")
    189 
    190 main()

     

    此代码已转化为exe程序

    输入数据后如图所示:

     

     

     

     

  • 相关阅读:
    半平面交模板
    poj2420(模拟退火大法好)
    hdu4266(三维凸包模板题)
    三维凸包模板
    三维空间直线最近点对hdu4741
    3维计算几何模板
    hdu1174(3维射线与圆是否相交)
    重点记忆
    UNICODE,GBK,UTF-8区别
    AJAX 基础
  • 原文地址:https://www.cnblogs.com/xiayiLL/p/10856696.html
Copyright © 2011-2022 走看看