Python程序设计思想及方法.ppt

模拟 计算机有远远高于人类的计算能力,能解决人类所不能解决的一些问题。如天气预报,设计飞机等 模拟:用计算机为实际问题建模,从而提供非如此不能获得的信息. 我们已经掌握的工具足以让我们编程解决有意思的问题. 一个模拟问题:Racquetball 问题:为什么球技只比对手略差,却输掉绝大多数的比赛? 一种可能是心理上的:你头脑中自以为比对手只是略差,实际情况是你差很多. 另一种可能:这是壁球运动本身的特性,能力上的细微差距却导致压倒性的胜负. 解决方法:用计算机模拟壁球,通过模拟不同水平球员之间的数千场比赛来看看这是必然的还是偶然的, 美式壁球基本知识 球,球拍,场地 一人发球开始比赛 然后两人交替击球(称为一个rally) 当一人未能击出合法球,则输掉本rally; 发球方输则交换发球权; 发球方赢则得1分. 先得15分者赢1局. 程序规格 球技水平:用球员作为发球方的获胜概率来模拟. 程序规格 输入:两个球员的水平,模拟比赛局数. 输出:两球员各自的获胜局数及比例. 用random模拟输赢 设发球人获胜概率是prob 程序中显然需要这样的代码: if 发球者胜了本回合: score = score + 1 并且要使该条件为真的情况占prob 用random函数模拟: if random() prob: score = score + 1 自顶向下的分解 对复杂问

文档评论(0)

1亿VIP精品文档

相关文档