什么,你问我什么是循环?
标准版:循环语句是用于重复执行某段代码直到满足特定条件为止的控制结构。循环语句允许程序重复执行一段代码,直到达到某个条件或完成所有迭代。
人话版:让计算机一直干一件事,我说啥时候停,啥时候就停。
在python中有两种循环代码,一个是for循环,一个是while循环。现在我们来分别看一看:
1.1格式
for 变量 in 迭代对象: 循环体代码
(1)变量,就是我们之前说的诸如:a,b,c。一些有所代表的东西。
(2)迭代对象,就是序列
(3)循环体代码,就是你要它重复执行的代码
(4)单开一行,只为告诉你,不要忘了写“:”
tips:序列,可以理解成包括列表、字符串、集合等的一个统称
是否有点晦涩?直接看下面几个例子:
1.2用法及解释
难度1:如何输出10个1?
直接敲键盘输入:
过程解释:
a是一个列表,里面有10个值,b是一个变量,for 是循环的意思,in是让谁到谁里面去,所以for b in a就是让b重复代入到a中,因为a有10个值,所以b要代入10次,第一次b代入成为了1,第二次则代入成了2,以此类推……直到满10次停止,加一个“:”就是当b代入后,计算机要一并执行一串代码,当执行完后,b再进行第二次代入。
如果加一个print(1),计算机就可以输出10个1啦!
补充:通过上文,我们知道b的值也是一直在变的,看下面这个例子就知道了
当b代入后,我们让计算机输出b的值,可以看到b一开始是1,之后是2,是3……
难度2:如何输出100个1?
我们总不能定义一个变量,里面包含100个值把,所以就有了更简单的方法。
这里我们用到一个函数:range()我们先来解释解释这个函数:
它的标准格式是:range(start,stop,step)
start:就是开始值,你想让谁做第一个数?
stop就是结束值,你想让谁做最后一个数?
step就是步长值,你想让他们之间间隔多少?
文字表述可能有点抽象,我们来看一个例子:
range(1,100,1)就相当于a= [1,2,3,4,……99 ]
从1开始,到100结束,间距是1。
range(1,10,2)就相当于a= [1,3,5,7,9 ]
这样是不是就明白多了,所以想要输出100个1,我们就要加上range(1,101,1),如图:
tips:range里的start与stop是左闭右开,相当于start< i <=stop,所以要写成101哦!
另外,range函数一般默认步长值为1,所以一般直接写range(1,101)
当然,起始值也是可以不写的,但系统的默认值是0,可以自己敲敲代码看
1.1格式
while 条件: 循环体代码
这个就很好理解了,当满足条件时,一直执行代码。
1.2用法及解释
用法1:将5递减输出
解释:
当满足条件n>0时一直执行下面两行代码,先打印n的值5,然后将n-1的值4再赋给n,所以n成了4,4还是大于0的,所以继续输出n的值4,然后……一直到n小于0为止,就停止执行了。
小白可能不太懂n=n-1,其实很简单,我们就先看右边,n的值是5,而5减去1,变成了4,所以右边的n-1整个变成了4,所以这行代码变成了n=4
另外,你是否疑惑为啥循环体代码不仅有print(n)还有n=n-1?
这其实是因为python中的缩进问题,我们可以看到print(n)和n=n-1是在同一缩进下的,所以就包括了。但如果是下图中的,缩进已经不在同一列了,循环体代码就只有print(n)了,计算机只会循环print(n)
用法2:一直循环
一直循环就很简单了,这样:
n=5 while n>0: print(n)
这样:
n=5 while True: print(n)
这样:
n=5 while 1: print(n)
都是一直循环,当条件那一直是真,它就会一直循环。n>0对不对?对就是真的,True其本身就代表真,所以是真的,至于1,在计算机中规定1就是真的,0就是假的,所以在这也是真的。
在上文中,我们学到了一直循环的方法,但是有没有什么办法能够停止它呢?
1.1用法:立刻终止循环
比如下面这个代码,while True:代表一直循环
但是我们可以看到在系统输出1和2后自动停止了,原因就在于print(1)和print(2)后面一行有了break,计算机检测到break自动停止当前的循环,并直接跳出当前循环,然后继续执行循环后面的代码,所以输出完1,2后会输出4(注意print(4)的缩进,不属于while循环里的哦)
1.1用法:跳出当前循环,并进入下一循环
比如下面这个代码,定义一个列表list,有1,2,3三个值。那么for a in list:会循环三次
当第一次循环执行print(1)后,计算机检测到continue,它会跳出当前循环,并进入下一循环,所以后面的print(3)不会执行,计算机直接进入到第二次循环,然后再次遇到print(1),输出1,紧接着又是continue,所以直接进入第三次循环。
循环是可以套循环的,比如下面这个代码:
系统输出:
1
x
y
2
x
y
解释:
我们定义两个列表一个list1一个list2。当执行到for a in list1:时,开始进入循环
首先print(a),此时a代入的list1的第一个值1,所以输出1,
然后根据缩进,for a in list2:和上面的print(a)是在同一列下,
所以直接进入list2的循环,
在list2的循环中,print(b)输出b,此时b代入的是list2的第一个值x,所以输出x
之后,由于list2的循环还没有完,所以进行list2的第二次循环,此时b代入值为y,所以输出y
再之后,list2的循环结束,list1的第一次循环也结束了
然后,进入开始list1的第二次循环,输出print(a),此时是2
然后,又遇到for a in list2:,开始新的list2循环,依次输出x,y
结束
我们其实可以把这个循环过程理解成下图:
计算机小人闯关,在走入list1循环后,要吃print(a)的球,吃完之后,它不能直接去终点吧,所以又跑到第二个循环那,吃print(b)的球
到此这篇python函数如果没有return语句(python函数没有return返回值会怎么样)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!好了,双循环的内容就到这里,但它的应用非常广泛,比如如何打印九九乘法表?
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/pythonbc/46232.html