Python有两个基本的循环命令:
while循环
for循环
使用while循环,我们可以在条件为真的情况下执行一组语句。
示例,打印i,只要i小于6:
i = 1 while i < 6: print(i) i += 1
注意:记得增加i的值,否则循环将永远继续下去。
while循环要求相关的变量已经准备好,例如在这个示例中,我们需要定义一个索引变量i,并将其设置为1。
使用break语句,即使while条件为真,我们也可以停止循环:
示例,当i为3时退出循环:
i = 1 while i < 6: print(i) if i == 3: break i += 1
使用continue语句,我们可以停止当前的迭代,并继续下一次迭代:
示例,如果i为3,则继续下一次迭代:
i = 0 while i < 6: i += 1 if i == 3: continue print(i)
使用else语句,我们可以在条件不再为真时运行一块代码:
示例,在条件不再为真时打印一条消息:
i = 1 while i < 6: print(i) i += 1 else: print("i不再小于6")
For循环用于遍历一个序列(可以是列表、元组、字典、集合或字符串)。
这与其他编程语言中的for关键字不太相似,更像是其他面向对象编程语言中的迭代器方法。
使用for循环,我们可以执行一组语句,对于序列中的每个项目执行一次。
示例,打印水果列表中的每个水果:
fruits = ["apple", "banana", "cherry"] for x in fruits: print(x)
for循环不需要预先设置索引变量。
即使字符串也是可迭代对象,它们包含一系列字符:
示例,循环遍历单词"banana"中的字母:
for x in "banana": print(x)
使用break语句,我们可以在循环遍历所有项目之前停止循环:
示例,当x为"banana"时退出循环:
fruits = ["apple", "banana", "cherry"] for x in fruits: print(x) if x == "banana": break
示例,当x为"banana"时退出循环,但这次break在打印之前:
fruits = ["apple", "banana", "cherry"] for x in fruits: if x == "banana": break print(x)
使用continue语句,我们可以停止当前迭代的循环,并继续下一次迭代:
示例,不要打印"banana":
fruits = ["apple", "banana", "cherry"] for x in fruits: if x == "banana": continue print(x)
要循环遍历一组代码指定的次数,可以使用range()函数,
range()函数返回一个数字序列,默认从0开始,递增1(默认),并在指定数字结束。
示例,使用range()函数:
for x in range(6): print(x)
请注意,range(6)不是值从0到6,而是值从0到5。
range()函数默认从0开始,但可以通过添加一个参数来指定起始值:range(2, 6),这表示从2到6的值(但不包括6):
示例,使用起始参数:
for x in range(2, 6): print(x)
range()函数默认递增1,但可以通过添加第三个参数来指定递增值:range(2, 30, 3):
示例,递增3(默认是1):
for x in range(2, 30, 3): print(x)
for循环中的else关键字指定了一个代码块,该代码块在循环结束时执行:
示例,打印从0到5的所有数字,并在循环结束时打印一条消息:
for x in range(6): print(x) else: print("最后完成了!")
注意:如果循环被break语句停止,else块将不会执行。
嵌套循环是一个循环内部的循环。
"内部循环"将在"外部循环"的每次迭代中执行一次:
示例,为每个水果打印每个形容词:
adj = ["red", "big", "tasty"] fruits = ["apple", "banana", "cherry"] for x in adj: for y in fruits: print(x, y)
for循环不能空着,但是如果由于某种原因,你的for循环没有内容,可以加入pass语句以避免出错。
示例
for x in [0, 1, 2]: pass