前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python| 函数中运用递归方式求解

Python| 函数中运用递归方式求解

作者头像
算法与编程之美
发布2020-11-10 10:11:31
9960
发布2020-11-10 10:11:31
举报

问题描述

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

解决方案

首先对题目分析,根据题目可用数学等比数列将其值运算得出,由题目可知题目函数可用递归函数求解,先运用函数定义符号def自定义一个新的函数,利用row递归函数将输入值反复循环,再利用for循环对题目中小球下落次数赋值,得到第十次的下落值,后用return将得出的值返回并且输出之前定义的函数值。仍要对sums进行计算,在判断返回值时应注意所要打印的函数值是否满足递归函数的定义。

代码示例:

代码语言:javascript
复制

def row(n, sums, height):#def是定义新函数的符号,row是表示此函数为递归函数.
     if n == 10:

       return sums
     print(sums, height)
     return row(n+1, sums+(height*2),  height/2) # row()表示将递归函数中的数值返回输出.
 print(row(1, 100, 50))
     
代码语言:javascript
复制
100 50

200 25.0

250.0 12.5

275.0 6.25

287.5 3.125

293.75 1.5625

296.875 0.78125

298.4375 0.390625

299.21875 0.1953125

299.609375

结语

学习掌握python函数中运算方法,使用递归函数解决问题,要熟悉python中if条件判断的运用方法。学习python函数中返回的函数意义。

END

主 编 | 王楠岚

责 编 | 沈志坚

能力越强,责任越大。实事求是,严谨细致。

——where2go 团队

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档