未加星标

Python练习题 015:一颗自由落地的球

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二04 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

python练习题 015】 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹多高?

----------------------------------------------------------

这题其实都可以笔算出来,因为也就是落地10次。看网上给出的结果也是五花八门,也不知道自己算的对不对,请大神们赐教。

我的思路是:除了第1次从100米高度落下,其余的9次都经历了“反弹-落地”的过程,每个过程来回走过的长度相当于上一个过程的高度。因此,把第1个过程初始化并赋值,从第2个过程开始,先次上一个过程的高度计算进去,再将高度减半,传递给下一个过程进行计算。代码如下:

a = [100] #每个‘反弹落地’过程经过的路程,第1次只有落地(100米) h = 100 #每个‘反弹落地’过程,反弹的高度,第1次为100米 print('第1次从%s米高落地,走过%s米,之后又反弹至%s米。' % (h, a[0], h/2)) for i in range(2,11): #第1次已初始化,再循环9次 a.append(h) #先计算路程,再高度减半,因为一个‘反弹落地’为2个高度 h = h / 2 print('第%s次从%s米高落地,共走过%s米,之后又反弹至%s米。' % (i, h, sum(a), h / 2))

输出结果如下:

第1次从100米高落地,走过100米,之后又反弹至50.0米。

第2次从50.0米高落地,共走过200米,之后又反弹至25.0米。

第3次从25.0米高落地,共走过250.0米,之后又反弹至12.5米。

第4次从12.5米高落地,共走过275.0米,之后又反弹至6.25米。

第5次从6.25米高落地,共走过287.5米,之后又反弹至3.125米。

第6次从3.125米高落地,共走过293.75米,之后又反弹至1.5625米。

第7次从1.5625米高落地,共走过296.875米,之后又反弹至0.78125米。

第8次从0.78125米高落地,共走过298.4375米,之后又反弹至0.390625米。

第9次从0.390625米高落地,共走过299.21875米,之后又反弹至0.1953125米。

第10次从0.1953125米高落地,共走过299.609375米,之后又反弹至0.09765625米。

即:第10次落地时,共走过了299.609375米,第11次反弹至0.09765625米的高度。

++++++++++++++++++++++++++++++++++++++

题目出处: 编程语言入门经典100例【Python版】

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

主题: Python反弹其实
分页:12
转载请注明
本文标题:Python练习题 015:一颗自由落地的球
本站链接:http://www.codesec.net/view/483607.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(21)