今日学习下Python3的循环语句,做如下学习记录,便于Python学习爱好者公参。
Python 中主要的循环有 for 循环和 while 循环
for循环:
- for 循环是根据设定的次数重复执行代码,for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
格式:
for <variable> in <sequence>:
<statements>
else:
<statements>
示例:
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
print(site)
整数范围值可以配合 range() 函数使用:
for number in range(1, 6):
print(number)
在 Python 3中,for...else 语句用于在循环结束后执行一段代码。
格式:
for item in iterable:
# 循环主体
else:
# 循环结束后执行的代码
当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。
for x in range(6):
print(x)
else:
print("Finally finished!")
while循环:
- while 循环实在符合给定的判断条件时执行循环体,不符合则退出循环体
格式:
while 判断条件(condition):
执行语句(statements)……
需要注意冒号和缩进。另外,在 Python3 中没有 do..while 循环。
示例:
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("1 到 %d 之和为: %d" % (n,sum))
while 后面的条件语句为 false 时,则执行 else 的语句块。
示例:
while <expr>:
<statement(s)>
else:
<additional_statement(s)>
expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行additional_statement(s)。
示例:
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
无限循环
while 循环体中只有一条语句,你可以将该语句与 while 写在同一行中, 如下所示:
flag = 1
while (flag): print ('欢迎访问菜鸟教程!')
print ("Good bye!")
可以通过设置条件表达式永远不为 false 来实现无限循环,也可以使用 CTRL+C 来退出当前的无限循环。
在循环中会有 3 个循环控制语句
- break
- continue
- pass
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
示例:
n = 5
while n > 0:
n -= 1
if n == 2:
break
print(n)
print('循环结束。')
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
示例:
n = 5
while n > 0:
n -= 1
if n == 2:
continue
print(n)
print('循环结束。')
循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。
示例:
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, '等于', x, '*', n//x)
break
else:
# 循环中没有找到元素
print(n, ' 是质数')
pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句。
示例:
for letter in 'Runoob':
if letter == 'o':
pass # 等待键盘中断 (Ctrl+C)
print ('执行 pass 块')
print ('当前字母 :', letter)
print ("Good bye!")