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 行代码! ...
随机推荐
- codeblocks显示:不支持的16位应用程序 解决办法
我是win10 64位系统,写c++运行就会显示不兼容16位应用程序.以前编出来的exe还能用,今天编出的就炸了. 试了用vs编译.vs能用. 试了网上找的各种解决方案, 360修复, 注册表, 重构 ...
- OpenCV(Open Source Computer Vision Library)计算机视觉库
OpenCV(最基本的滤波到高级的物体检测皆有涵盖) 简介: OpenCV 是跨平台的,可以在 Windows.Linux.Mac OS.Android.iOS 等操作系统上运行. OpenCV 的 ...
- 推荐一款强大的前端CLI命令行工具
背景 命令行界面交互开源工具 CloudBase CLI 自发布以来,受到了大量开发者的欢迎.近期,我们发布了新鲜打磨的 CloudBase CLI 1.0 Beta,引入了许多利于开发者的新特性,下 ...
- The Data Warehouse Toolkit 阅读笔记
前言 这篇笔记的主要内容来至于The Data Warehouse Toolkit,该书可以称为数仓建模的圣经 什么是星型模型 以一个业务实时为主表.比如一笔订单就是一个业务事实.订单有商品的SKU信 ...
- NOR Flash 与 NAND Flash 的区别
闪速存储器 闪速(Flash)存储器是一种电可擦除可多次编程的存储器.工艺上主要有两类:或非(NOR)型阵列和与非(NAND)型阵列. 项目 读取速度 写入速度 擦除速度 特性 其他 NOR Flas ...
- Left Mouse Button (bfs)
Mine sweeper is a very popular small game in Windows operating system. The object of the game is to ...
- C016:字符串倒置
代码: #include "stdafx.h" #include <string.h> int _tmain(int argc, _TCHAR* argv[]) { c ...
- 解锁用户scott并授权
请输入用户名: system 输入口令: 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Producti ...
- 阿里云短信服务验证码封装类 - PHP
本文记录在ThinkPHP6.0中使用阿里云短信验证码,该封装类不仅仅局限于TP,拿来即用 使用该类之前必须引入 flc/dysms 扩展,该封装类就是基于这个扩展写的 composer requir ...
- java 多线程-1
一.程序.进程.线程简介 程序(program)是为完成特定任务.用某种语言编写的一组指令的集合.即指一段静态的代码,静态对象 进程(process)是程序的一次执行过程,或是正在运行的一个程序.是一 ...