前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python学习历程之----基础篇(四)

python学习历程之----基础篇(四)

作者头像
用户5410712
发布2022-06-01 13:57:27
1410
发布2022-06-01 13:57:27
举报
文章被收录于专栏:居士说AI

年轻的我们,在接受着生活的五味,品味着独特的味道,我们点燃青春之火,在我们的信念里,什么都算不了,我们怀揣梦想,在属于自己的天地间任意飞翔驰骋,我们相信青春梦想掌握在我们自己手中,需要我们去创造!

老铁们,我们又见面了,今天我们接着聊python编程,不知道大家有没有注意看,python基础篇已经慢慢变得有点难度了,甚至不是看一眼就能很快理解了的,不过不用担心,小编会用最简洁易懂的方式让大部分人都能够听懂啦。闲聊时间到,下面开始正题:

一、while语句

while,本意为:在…期间;当…的时候 ,该语句是先判断再执行,直到判断结果为False(错误),循环中止,下面请看代码:

代码语言:javascript
复制
# -*- coding:utf-8 -*-
a = 1
while a < 5:
    a = a+1
print(a)

代码解读:首先我们定义一个变量a,并给它一个值为1,while 就是当a小于5的时候,我们执行a+1这个操作,并且把执行后的结果赋予a,然后再次判断a是否小于5,如果是的话,a就会在之前的值上继续进行+1操作,所以直到a+1等于5,这时候不小于5的时候,while语句才会停止执行,因此执行后的结果是:

接下来,我们再来看看while-else的用法:

代码语言:javascript
复制
# -*- coding:utf-8 -*-
a = 2
while a < 2:
    a += 1
else:
    print(a)

代码解读:很明显,我们的a=2不小于2,所以不会执行a+1,而是执行别的:print(a),最后的结果是:

二、定义一个递归函数

不知道大家还是否记得我们之前讲过的函数,递归函数通过自身反复调用来实现递归。这样讲肯定不太好懂,通俗一点就是不断的去调用自己,最后得出答案,下面请看实例:

代码语言:javascript
复制
# -*- coding:utf-8 -*-
def fibo(n):
    if n == 1:
        return 1
    elif n == 2:
        return 1
    elif n >= 3:
        return fibo(n-1) + fibo(n-2)
    
print(fibo(4))

代码解读:函数本身比较简单,传入一个数n,然后进行操作,最后print()调用这个函数并且打印出来,重点在于函数里面的:

代码语言:javascript
复制
return fibo(n-1) + fibo(n-2)

这一句不太好理解:

代码语言:javascript
复制
首先请看fibo(4),也就意味着def fibo(n)里面的n=4,
发现n满足最后一个return fibo(n-1) + fibo(n-2),即fibo(4)=fibo(4-1) + fibo(4-2)=fibo(3) + fibo(2)
返回函数fibo(3)也是满足n >= 3,因此fibo(3)=fibo(3-1) + fibo(3-2)
fibo(3-1) + fibo(3-2)=fibo(2) + fibo(1),最后fibo(4)=fibo(3) + fibo(2)=fibo(2) + fibo(1)+fibo(2)(因为fibo(3)=fibo(2) + fibo(1))
所以 fibo(4)=1+1+1=3

下面请看执行结果:

说实话,递归函数不太好理解,但只要理解了,你就知道是什么意思了,有点像我们高中学数列求前n项和。第一次不太理解不怕,用笔算算,在对照代码看看就会了。

最后,今天的内容分享结束了,对于今天的内容,可能有一点不太好理解,小编当年学的时候也是不太理解,多写几次,多运行几次,再去对应我的结果,你就会得到答案,重在理解,如有困惑,请随时后台咨询。

还是那句老话,编程一途,重在理解,贵在实践,今日之社会,瞬息变化,多一技伴身,未尝不可,请君切记,切记!

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

本文分享自 IT进阶之旅 微信公众号,前往查看

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

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

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