体育竞技分析:
比赛规则:
双人击球比赛:A&B,回合制,5局3胜
开始时一方先发球,直至判分,接下来胜者发球
球员只能在发球局得分,15分胜一局
自顶向下(设计)
将一个总问题表达为若干个小问题组成的形式;
使用同样方法进一步分解小问题;
直至,小问题可以用计算机简单明了的解决。
自底向上(执行)
分单元测试,逐步组装;
按照自顶向下相反的路径操作;
直至,系统各部分以组装的思路都经过测试和验证。
程序总体框架及步骤:
步骤1:打印程序的介绍性信息;printInfo()
步骤2:获得程序运行参数:proA,proB,n;getInputs()
步骤3:利用球员A和B的能力值,模拟n局比赛;simNGames()
步骤4:输出球员A和B获胜比赛的场次及概率;printSummary()
实验代码:
import random
def printIntro():
print("这个程序模拟两个选手A和B的某种竞技比赛")
print("程序运行需要A和B的能力值(以0和1之间的小数表示)")
def getInputs():
a = eval(input("请输入选手A的能力值(0-1):"))
b = eval(input("请输入选手B的能力值(0-1):"