排球比赛规则

代码如下:

复制代码
 1 from random import random
 2 def printIntro():
 3     print("这个程序模拟A,B两个选手的比赛:\n")
 4     print("这个程序的实现需要知道A,B两个选手的能力值,该值为0-1之间的小数:\n")
 5 def getInputs():
 6     probA = eval(input("请输入A的能力值:"))
 7     probB = eval(input("请输入B的能力值:"))
 8     n=int(input("请输入比赛场次:"))
 9     return probA,probB,n
10 def printSummary(winsA,winsB):
11     print("预计A会赢得{}场比赛".format(winsA))
12     print("预计B会赢得{}场比赛".format(winsB))
13 def simNGames(probA,probB,n):
14     winsA,winsB=0,0
15     for i in range(n):
16         scoreA,scoreB=simOneGame(probA,probB)
17         if(scoreA>scoreB):
18             winsA+=1
19         else:
20             winsB+=1
21     return winsA,winsB
22 def simOneGame(probA,probB):
23     scoreA,scoreB=0,0
24     serve='A'
25     while not onegameOver(scoreA,scoreB):
26         if (serve=='A'):
27             if(random()<=probA):
28                 scoreA += 1
29             else:
30                 serve='B'
31         if (serve=='B'):
32             if(random()<=probB):
33                 scoreB += 1
34             else:
35                 serve='A'
36     return scoreA,scoreB
37 def onegameOver(a,b):
38     return a==15 or b==15
39 probA,probB,n=getInputs()
40 winsA,winsB=simNGames(probA,probB,n)
41 printSummary(winsA,winsB)
复制代码

结果截图如下:

 

 

posted @   BLUETXY  阅读(149)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示