模拟N场比赛
抽象+自动化
当N越大,比赛结果分析会越科学
假设比赛规则:
1、双人击球比赛:A&B,回合制,5局3胜
2、开始时一方先发球,直至判分,接下来胜者发球
3、球员只能在发球局得分,15分为一局
自顶向下:
解决复杂问题的有效方法。
将一个总的问题表达为若干个小问题的组成形式。
自底向上:
分单元测试,逐步组装
程序总体框架及步骤:
1、打印程序介绍性信息 --printInfo()
2、获得程序运行参数:proA,proB,n --getInput()
3、利用球员A和B的能力值,模拟n局比赛 --simNGames()
4、输出A和B获胜比赛的场次及概率 --printSummary()
第一阶段 自顶向下设计
def main(): #主程序流程
printInfo()
proA,proB,n = getInput()
winsA,winsB = simNGames(n,proA,proB)
printSummary(winsA,winsB)
def printInfo(): #打印程序介绍信息
print