目录
循环结构的用处
循环用处有很多,平时也非常常用,以下是我总结的:
- 指定次数,重复执行某段代码或者功能
- 在满足条件的情况下,重复执行某段代码或者功能
- 遍历可迭代对象(迭代器)
“遍历”就是挨个获取迭代对象的值。接下来学习Python语言中的循环。
for循环
这里的for不是英语中“为了”的意思,这是一种循环语句(是Python关键字),能够遍历序列和重复指定次数执行。
结构
for i in seq:
代码块
作用时指定变量i,遍历迭代对象,也就是说把一个迭代对象中的内容挨个取出来赋值给i
遍历可迭代对象
>>> seq=[1,2,3,4,5]
>>> for i in seq:
... print(i)
...
1
2
3
4
5
上面的代码作用是遍历seq这个列表(后面会说),然后把里面的值挨个赋值给i,每次输出i
循环指定次数
循环指定次数的基本思路是创建一个长度是指定次数的迭代对象,for语句遍历的次数就是指定次数,是不是很妙…所以说,本质上还是遍历迭代对象。
for i in range(循环次数):
代码块
上面用到了range函数,这是python中的内置函数,可以创建一个指定的序列
所以指定次数循环可以这么写:
>>> for i in range(10):
... print("循环")
...
循环
循环
循环
循环
循环
循环
循环
循环
循环
循环
range函数
range(起始值(可选),终止值(必填),间隔(可选))
这个函数可以创建一个存放着整数的序列,举个例子
>>>a=range(10)
>>>print(list(a))#list函数是将其他类型的变量或值转化为list列表类型的函数,这样方便查看我们创造的range对象里的值
>>>#若直接输出a会得到:range(0,10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(list(a))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> b=range(1,10,2)
>>> print(list(b))
[1, 3, 5, 7, 9]
注释
上面代码中的“#”后的字,在Python中是注释,运行时会被忽略,多行注释还会用字符''' ''',如:
'''注释内容'''
#注释内容
While循环
结构
while 条件表达式:
代码块
当满足条件时一直执行代码块
示例
>>> a=0
>>> while a<10:
... print(a)
... a+=1
...
0
1
2
3
4
5
6
7
8
9
上面的代码作用是当a小于10时, 一直输出a并让a自增1(+=自增运算符可以看本专栏文章:Python基础教程4-运算符)
以上方法也是使用while循环计次循环的方法,不要忘了在代码块中让循环变量自写,否则就成了无休止的循环——死循环。
死循环
但有时我们可能需要死循环(比如说…说得就是pygame…),很简单,聪明的读者肯定想到了不用变量,直接让条件为真的方法。
while True:
代码块
⚠️如果while循环使用不当会变成死循环,有时候死循环是不好的,它会占用资源,导致卡顿、程序崩溃…
break语句
Python中的break语句是跳出当前这一层循环的意思,用于在符合条件的情况下跳出,一般和if语句搭配,举个例子:
>>> for i in range(10):
... if i==6:
... break
... print(i)
...
0
1
2
3
4
5
当满足i为6这个条件时跳出
continue语句
continue语句的作用是跳过本次循环,进入下次循环,举个例子说明:
>>> for i in range(10):
... print(i,end=" ")
... if i==6:
... continue
... print(i+1)
...
0 1
1 2
2 3
3 4
4 5
5 6
6 7 8
8 9
9 10
可见,循环到第7次时跳过了下面的print(i+1),直接进入下一轮循环。
循环嵌套
循环是可以嵌套的,for和while都可以多重循环
for
for i in 迭代对象1:
for j in 迭代对象2:
代码块
…
代码块
while
i=0
while i<循环次数1:
j=0
while j<循环次数2:
代码块
…
代码块
当然,此处的i和j可以替换,只是平时起循环变量的名字一般用它俩,而且可以一直嵌套下去