Python练习题 015:一颗自由落地的球
【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米的高度。
++++++++++++++++++++++++++++++++++++++
Python练习题 015:一颗自由落地的球的更多相关文章
- python coding style guide 的高速落地实践
python coding style guide 的高速落地实践 机器和人各有所长,如coding style检查这样的可自己主动化的工作理应交给机器去完毕,故发此文帮助你在几分钟内实现coding ...
- python coding style guide 的快速落地实践——业内python 编码风格就pep8和谷歌可以认作标准
python coding style guide 的快速落地实践 机器和人各有所长,如coding style检查这种可自动化的工作理应交给机器去完成,故发此文帮助你在几分钟内实现coding st ...
- Python练习题 002:奖金计算
[Python练习题 002]企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成 ...
- Python练习题 028:求3*3矩阵对角线数字之和
[Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得 ...
- Python练习题 027:对10个数字进行排序
[Python练习题 027] 对10个数字进行排序 --------------------------------------------- 这题没什么好说的,用 str.split(' ') 获 ...
- Python练习题 026:求100以内的素数
[Python练习题 026] 求100以内的素数. ------------------------------------------------- 奇怪,求解素数的题,之前不是做过了吗?难道是想 ...
- Python练习题 025:判断回文数
[Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ---------------------------------------- ...
- Python练习题 024:求位数及逆序打印
[Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- ...
- Python练习题 004:判断某日期是该年的第几天
[Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? ---------------------------------------------- 这题竟然写了 28 行代码! ...
随机推荐
- ssm框架之springMVC拦截器
1拦截器概述 1.1什么是拦截器? springMVC中的拦截器(Interceptor)类似于servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理.例如通过拦截器可以进行权 ...
- python接口测试自动化之python基础语法
一.pycharm的使用和python基本语法 (一).pycharm的使用和python环境 1.python以及pycharm的安装 python 的版本选择:3.x 版本,不要安装2.x 版本, ...
- element-ul二次封装table表格
在项目中el的表格使用的地方太多了,若不进行封装,使用的时候页面会显得非常的冗余且难以维护,有时表格样式还不能做到一致:今天分享一个在工作中封装的表格 由于大多代码都在页面有介绍,就不在外面解释了 一 ...
- [] !== [] is true
这周工作看见一个小伙伴给我私信发了这样的一个问题,我深剖了一下,希望大家能早点脱掉这个坑. Question: 如果定义了一个空数组,在开发过程中经常会做这样的一个判断,就是这个数组里发生变化不再是空 ...
- GLSL 着色器程序
除了使用Cg/HSL 着色器程序以外, OpenGL 着色器语言(GLSL)着色器可以直接书写shader. 然而,使用原生的GLSL只推荐作为测试使用,或者你清晰的知道你的目标平台是 Mac OS ...
- POJ - 3037-Skiing(邻接表+Dijkstra)
Bessie and the rest of Farmer John's cows are taking a trip this winter to go skiing. One day Bessie ...
- rpc之负载均衡
使用集群,比如zk来控制注册中心,当一个服务有多个请求地址的时候,会返回多个地址. 那么就需要负载均衡来控制我们要请求哪台机器来得到请求. 方案一:随机 传入key值和key所包含的ip地址值,该地址 ...
- Codeforces 1389 题解(A-E)
AC代码 A. LCM Problem 若\(a < b\),则\(LCM(a,b)\)是\(a\)的整数倍且\(LCM(a,b) \ne a\),所以\(LCM(a,b) \ge 2a\),当 ...
- npm 进阶命令知多少(一)
npm命令知多少(一) 前言 作为前端模块化扎展现形式的npm包,已经在前端开发中不可或缺,熟练掌握npm相关内容,也是前端开发者的一门必修课,那么除了npm publish这类常见内容之外,还有哪些 ...
- Agumaster页面样式就绪