📅  最后修改于: 2020-01-17 13:19:34             🧑  作者: Mango
Python编程语言提供了以下方法来处理循环需求。Python提供了三种执行循环的方式,尽管所有方式都提供相似的基本功能,但是它们的语法和条件检查时有所不同。
while expression:
statement(s)
在编程构造之后,所有缩进相同数量字符空间的语句都被视为单个代码块的一部分。Python使用缩进作为其对语句进行分组的方法。
例:
# Python程序,展示while用法
count = 0
while (count < 3):
count = count + 1
print("Hello 芒果文档")
输出:
Hello 芒果文档
Hello 芒果文档
Hello 芒果文档
在while循环中使用else语句:如上所述,while循环执行该块,直到满足条件为止。当条件变为假时,循环后立即执行该语句。
else子句仅在while条件变为false时执行。如果您跳出循环,或者引发了异常,则不会执行该异常。
如果像这样:
if condition:
# execute these statements
else:
# execute these statements
和这样的while循环类似
while condition:
# execute these statements
else:
# execute these statements
#Python展示while和else同时使用
count = 0
while (count < 3):
count = count + 1
print("Hello 芒果文档")
else:
print("在else内")
输出:
Hello 芒果文档
Hello 芒果文档
Hello 芒果文档
在else内
单条语句while块:与if块一样,如果while块由一条语句组成,我们可以在一行中声明整个循环,如下所示:
# Python展示单条语句的while块
count = 0
while (count == 0): print("Hello 芒果文档")
注意:建议不要使用这种类型的循环,因为它是一个永无止境的无限循环,其中条件始终为true,并且您必须强制终止编译器。
for iterator_var in sequence:
语句(s)
它可用于迭代器和范围:
# Python遍历一个list
print("List迭代")
l = ["芒果", "for", "芒果"]
for i in l:
print(i)
# 遍历一个tuple (不可变)
print("\nTuple迭代")
t = ("芒果", "for", "芒果")
for i in t:
print(i)
# 遍历String
print("\nString迭代")
s = "芒果"
for i in s :
print(i)
# 遍历一个dictionary
print("\nDictionary迭代")
d = dict()
d['xyz'] = 123
d['abc'] = 345
for i in d :
print("%s %d" %(i, d[i]))
输出:
List迭代
芒果
for
芒果
Tuple迭代
芒果
for
芒果
String迭代
芒
果
Dictionary迭代
xyz 123
abc 345
# Python代码展示使用index索引进行迭代
list = ["芒果", "for", "文档"]
for index in range(len(list)):
print list[index]
输出:
芒果
for
文档
# Python结合else和for
list = ["芒果", "for", "芒果"]
for index in range(len(list)):
print list[index]
else:
print "在else内"
输出:
芒果
for
芒果
在else内
for iterator_var in sequence:
for iterator_var in sequence:
statements(s)
statements(s)
Python编程语言中的嵌套while循环语句的语法如下:
while expression:
while expression:
statement(s)
statement(s)
关于循环嵌套的最后一点是,我们可以将任何类型的循环放入任何其他类型的循环中。例如,for循环可以在while循环内,反之亦然。
# Python展示嵌套循环
from __future__ import print_function
for i in range(1, 5):
for j in range(i):
print(i, end=' ')
print()
输出:
1
2 2
3 3 3
4 4 4 4
# 打印所有字符,除了“芒"和“档"
for letter in '芒果文档':
if letter == '芒' or letter == '档':
continue
print '当前字符 :', letter
var = 10
输出:
当前字符 : 果
当前字符 : 文
Break语句:将控制带出循环
for letter in '芒果文档':
# 见到“果"就跳出
if letter == '果':
break
print '当前字符 :', letter
输出:
当前字符 : 芒
# 空循环
for letter in '芒果文档':
pass
print '当前字符 :', letter
输出:
当前字符 : 档