【20171011】python_语言设计(6)程序设计方法与面向对象程序设计
来源:互联网 发布:怎么看电脑端口号 编辑:程序博客网 时间:2024/06/06 09:46
1.程序设计方法
计算思维:给定有限资源、设定并行流程、得出最好效果
2.自顶向下的设计
from random import*def main(): printIntro() probA,probB,n=getInputs() winsA,winsB=simNGames(n,probA,probB) PrintSummary(winsA,winsB)def printIntro(): print('This program simulates a game between two') print('There are two players,A and B') print('Probability(a number between 0 and 1)is used')def getInputs(): a=eval(input('What is the prob.player A wins?')) b=eval(input('What is the prob.player B wins?')) n=eval(input('How many games to simulate?')) return a,b,ndef simNGames(n,probA,probB): winsA=0 winsB=0 for i in range(n): scoreA,scoreB=simOneGame(probA,probB) if scoreA>scoreB: winsA=winsA+1 else: winsB=winsB+1 return winsA,winsBdef simOneGame(probA,probB): scoreA=0 scoreB=0 serving="A" while not gameOver(scoreA,scoreB): if serving=="A": if random() < probA: scoreA=scoreA+1 else: serving="B" else: if random() < probB: scoreB=scoreB+1 else: serving="A" return scoreA,scoreBdef gameOver(a,b): return a==15 or b==15def PrintSummary(winsA,winsB): n=winsA+winsB print('\nGames simulated:%d'%n) print('Wins for A:{0}({1:0.1%})'.format(winsA,winsA/n)) print('Wins for B:{0}({1:0.1%})'.format(winsB,winsB/n))main()
3.自底向上的测试:单元测试
阅读全文
0 0
- 【20171011】python_语言设计(6)程序设计方法与面向对象程序设计
- 【20171014】python_语言设计(8)面向对象程序设计
- 【20171014】python_语言设计(7)面向过程程序设计
- 面向对象程序设计方法学
- 面向对象程序设计与原则
- 面向对象程序设计与原则
- 面向对象程序设计与基本特征
- 【读书笔记】java语言与面向对象程序设计1:java概述
- 程序设计-----------活与死、回调以及面向对象设计
- 面向对象程序设计与结构化方法的比较
- 面向对象的程序设计与面向过程的程序设计(转)
- 面向对象程序设计与面向过程程序设计解析
- 面向对象程序设计与面向过程程序设计解析
- 面向对象(OO)程序设计
- 面向对象(OO)程序设计
- 面向对象程序设计(类与对象)
- unity开发程序设计原则(七大面向对象设计原则)
- 【C++程序设计】-面向对象设计实例
- spring mybatis 之MapperScannerConfigurer
- 【状压DP】【cofun1372】售货员难题
- Thymeleaf模板引擎的一些知识点
- Unity SteamVR插件集成
- 2.2.12多线程的死锁(jps命令、jstack命令)
- 【20171011】python_语言设计(6)程序设计方法与面向对象程序设计
- 2016算法第一次练习赛——C 斐波那契进阶
- MySQL索引类型总结和使用技巧以及注意事项
- C++STL之vector详解(转)
- Android 代码设置来电铃声
- Servlet登录传递注意事项
- 日记(周中)
- c语言 计算闰年
- html —— 查看元素属性 与 js 全局属性