本文和你一起探索Python编程经典案例,让你沉浸式学习Python。助你期末考试拿高分,拿到大厂的心仪offer。你可以先自己拿着题目去思考有多少种不同的解题方法,然后再对照本文解题方法进行比较。有不同的见解欢迎到公众号中跟我一起探讨。

  
  

一、经典案例【考题】

  
问题: 一个球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它再第5次弹起至最高点时,共经过多少米?第5次反弹多高?
  
输入: 100, 5
  
输出:(290.625, 3.125)
  
其中290.625为球自由落体运动第5次弹至最高点时共经过的米数,3.125为第5次反弹的高度。

  
  

二、经典案例解题方法

  

方法一:应用for循环求出自由落体运动总长度和第n次反弹高度

  
首先来看下球从100米高自由落下,它的前几次运动轨迹是什么样的。
  


  
可以发现每一次球反弹都导致球弹起来的高度比上一次的高度缩短了一半,第五次弹至最高点的总长度为100+50✖2+25✖2+12.5✖2+6.25✖2+3.125=290.625。通过for循环,模拟自由落体的运动轨迹,可以得到总长度和第n次反弹的高度。
  
具体代码如下:

def free_fall_game1(x, cnt):'''x:初始高度cnt:第几次反弹'''high = xsum_high = highcur_high = 0for i in range(cnt):if i<cnt-1:cur_high = high/2sum_high += cur_high*2high = high/2else:cur_high = high/2sum_high += cur_highhigh = high/2return sum_high,cur_highfree_fall_game1(100, 5)

cur_high:表示当前反弹高度。
  
sum_high:表示运动总长度。
  
得到结果:

(290.625, 3.125)

其中290.625为球自由落体运动第5次落地时共经过的米数,3.125为第5次反弹的高度。如对循环不是很理解,可先看下让你彻底弄懂【python循环语句】一文。感兴趣的同学可以把代码复制到Python中,通过调节初始高度和落地次数,获取自由落体运动经过的总长度和第n次反弹高度。

  

方法二:应用while循环求出自由落体运动总长度和第n次反弹高度

  
假设问题微调成:一个球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它再第10次弹至最高点时,共经过多少米?第10次反弹多高?原理类似,只不过用while循环模拟自由落体的运动轨迹,得到总长度和第n次反弹的高度。
  
具体代码如下:

def free_fall_game2(x, cnt):'''x:初始高度cnt:第几次落地'''i = 1sum = 0while i<=cnt:sum += xx = x/2sum += xi += 1return sum, xfree_fall_game2(100, 10)

得到结果:

(299.70703125, 0.09765625)

可以手动验证,两种方法得到的结果是一致的。至此,Python中的编程经典案例【考题】之自由落体运动球的运动轨迹已讲解完毕。如想了解更多Python中的函数,可以翻看公众号中“学习Python”模块相关文章。

  
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
用Python绘制520永恒心动
Python人脸识别—我的眼里只有你
Python画好看的星空图(唯美的背景)
【Python】情人节表白烟花(带声音和文字)
用Python中的py2neo库操作neo4j,搭建关联图谱
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)

长按(扫一扫)识别上方二维码学习更多Python和建模知识,让你的学习和工作更出彩

Python编程经典案例【考题】自由落体运动球的运动轨迹相关推荐

  1. Python编程经典案例【考题】求某个范围内能被3整除且能被5整除的所有数,及这些数的和

    本文和你一起探索Python编程经典案例,让你沉浸式学习Python.你可以拿着题目先思考,然后再对照本文解题方法进行比较.有不同的见解欢迎到公众号中跟我一起探讨.    文章目录 一.经典案例[考题 ...

  2. Python编程经典案例【考题】排列组合

    本文和你一起探索Python编程经典案例,让你沉浸式学习Python.你可以拿着题目先思考,然后再对照本文解题方法进行比较.有不同的见解欢迎到公众号中跟我一起探讨. 文章目录 一.经典案例[考题] 二 ...

  3. Python编程经典案例【考题】公司奖金发放

    本文和你一起探索Python编程经典案例,让你沉浸式学习Python.你可以拿着题目先思考,然后再对照本文解题方法进行比较.有不同的见解欢迎到公众号中跟我一起探讨.    文章目录 一.经典案例[考题 ...

  4. 让你彻底弄懂Python编程经典案例【考题】之反转一个值

    学习Python有很多不同的方法,可以看视频.看博客.看公众号等.但光说不练,很难有快速的提升.最好能动手去处理实际问题,这样才能把学到的知识应用得更熟练.    本文和你一起来探索Python编程的 ...

  5. python编程经典案例-精心整理!9个 Python 实用案例分享

    1. 整理字符串输入 整理用户输入的问题在编程过程中极为常见.通常情况下,将字符转换为小写或大写就够了,有时你可以使用正则表达式模块「Regex」完成这项工作.但是如果问题很复杂,可能有更好的方法来解 ...

  6. python编程经典案例-一个非常适合Python新手的编程案例——投票小程序

    想快速入门Python,实战才是捷径. 前面给大家介绍了新手学习Python最重要的一点,就是多动手,多练习,在实战中才能快速进阶.那么通常一个好的实战案例是会让大家的学习事半功倍的.假如你现在刚刚学 ...

  7. 3dmax:3dmax三维VR渲染设置之高级灯光渲染(经典案例—利用自由聚光灯制作筒灯效果效果)图文教程

    3dmax:3dmax三维VR渲染设置之高级灯光渲染(经典案例-利用自由聚光灯制作筒灯效果效果)图文教程 目录 利用自由聚光灯制作筒灯效果 利用自由聚光灯制作筒灯效果

  8. Visual C++网络编程经典案例详解 第9章 实用播放器 数据读取与播放控制 识别数据文件信息

    识别数据文件信息主要是指对mp3数据格式识别 定义顺序代码如下 typedef struct mp3_struct //自定义mp3结构体 {char heade[3]; //tag字符标记char ...

  9. Python机器学习经典案例实战-韦玮-专题视频课程

    Python机器学习经典案例实战-3710人已学习 课程介绍         Python在机器学习领域应用是非常广泛的,比如,我们可以使用机器学习进行验证码识别,使用机器学习实现计算机视觉项目,或者 ...

最新文章

  1. TensorFlow之图结构与TensorBoard可视化
  2. idea设置JVM运行参数
  3. 如何搭建一套融资租赁业务系统
  4. 设计模式之_动态代理_02
  5. 酷派删除android系统软件,【玩机教程】酷派手机root后不可删除系统自带程序+组件中英对照...
  6. java将动态图转换成静态图_如何用最简单的方法把静态图变成动图?
  7. 很多人都忽视了账号基建重要性
  8. 精心总结了10个matplotlib绘图技巧,短小精悍,威力无穷!
  9. 服务器连接池怎么配置文件,服务器连接池怎么配置
  10. mysql 分布式 生成序号_分布式唯一ID生成方案
  11. 58 页 PPT 揭示图神经网络研究最新进展
  12. 【每日算法Day 89】手动实现字符串转整数(atoi)函数,你会吗?
  13. 卸载oracle 10g
  14. 高德地图-AndroidStadio-No implementation found for long com.autonavi.amap.mapcore.MapCore.nativeNewInsta
  15. 常见植被指数及适用场景
  16. CUDA各版本官方下载地址
  17. 处理器后面的字母含义_Intel处理器背盖上的字母含义
  18. 提高团队成员的工作积极性/团队凝聚力
  19. js的常见的三种密码加密方式-MD5、Base64、sha1加密详解总结
  20. java中String与int/float/double/byte/数组

热门文章

  1. android 颜色 数组,在Android中声明维数,颜色,资源ID或其他非标准数据类型的数组?...
  2. 用python写情书_资深Python程序员用图片隐写术写情书,全公司只有她能看懂,绝了...
  3. 前端ui框架layui——layer弹出层-弹出框方法
  4. 【Linux】复制文件到当前目录 复制文件并重命名到当前目录
  5. WIN10, USB转TTL驱动安装( CH340 和 PL- 2303 )
  6. 20190925-ORA-00600错误及被注入的软件
  7. YAML文件的基本语法
  8. knn算法,利用numpy简单实现
  9. 解决VS中提示信息没有自动选中首选项的问题
  10. ThoughtWork培训感想