在python中的循环分为两种:while循环和for循环。
先来看一下while循环
上图是简单计算,是2*8结果的代码。这段程序的意思就是将8个2加起来的合。所以就要求循环8次。
这是一段简单的代码,要有大的疑问点,那就是对:i-=1
有疑问,它的意思就是(i=i-1)
while循环中值得注意的就是要有(i-=1)这个语句,要不然整个程序就不会终止。而for循环就不会有这一点
接下来看一下for循环
在python中的for循环跟别的语言的循环一样,它也比while循环要简洁,上图用到了for循环和range()函数,range()函数主要就是为了生成一个数列,从0到7.
在for循环中,in后面一定是一个序列,range()函数在这个代码中的作用主要就是,提供8次循环的作用。
再来简单说一下内建函数,什么是内建函数?
就比如:print(),len(),max()等,就是本身带有的自身函数。
再来说一下定义函数
大家覅是就python中定义函数需要使用def关键字,比如上图就是用定义的方法来实现递归的。
def后面的fact是函数名,括号中的n就是参数,如果有多个函数以逗号隔开各个参数如(h,j)。
参数又分为实参与形参:实参就比如:1,2,3等数字。形参就如图中的n。
递归;
说到递归,相信都很熟悉了,比如2!=2*1
就是逐级递减的阶乘,直到计算到(n!)结束为止
代码中的函数fact()代表的意思就是(!)
实际数学中是这样的:n*(n-1)!
递归有一个好玩的游戏
如上自己画的简图,游戏规则就是:需要对图中的(1,2,3)重新放置到另一根柱上。
三根直线,相当于三根排数柱,每一次只能抽出一位数,不能从下或从中间抽出,只能从上开始。抽出的数字由自己选择放在一根柱上。
还有就是:
一、排列的方式是从大到小依次叠放起来的,大数不能放在小数上面,只可以小数放在大数上。三根柱子可以随意放。
问需要经过几次换柱,才可以重新排列数组。
然后再想一下如果图中的数字排列不是(1,2,3)而是(1到54)呢?那要多久。
领取专属 10元无门槛券
私享最新 技术干货