本文实例讲述了Python解决抛小球问题 求小球下落经历的距离之和。分享给大家供大家参考,具体如下:
问题:
小东和三个朋友一起在楼上抛小球,他们站在楼房的不同层,假设小东站的楼层距离地面N米,球从他手里自由落下,每次落地后反跳回上次下落高度的一半,并以此类推知道全部落到地面不跳,求4个小球一共经过了多少米?(数字都为整数)
给定四个整数A,B,C,D,请返回所求结果
测试样例:
100,90,80,70
返回:1020
实现代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
class Balls: def calcDistance( self , A, B, C, D): global res Balls.totalDistance( self , float (A + B + C + D), float (A + B + C + D)) return res def totalDistance( self , total, statDis): global res statDis / = 2 total + = statDis * 2 if statDis < = 0.01 : res = int ( round (total)) return Balls.totalDistance( self , total, statDis) balls = Balls() global res balls .calcDistance( 100 , 90 , 80 , 70 ) print res |
运行结果:1020
这一题主要考察浮点数运算以及输出四舍五入,根据给的输出样例来推断边界取值。(我就偏不说动态规划~)
希望本文所述对大家Python程序设计有所帮助。
原文链接:http://www.cnblogs.com/kuqs/p/6672267.html