一、Python 循环语句
Python提供了for循环和while循环(在Python中没有do..while循环):
循环类型 | 描述 |
---|---|
while 循环 | 在给定的判断条件为 true 时执行循环体,否则退出循环体。 |
for 循环 | 重复执行语句 |
嵌套循环 | 你可以在while循环体中嵌套for循环 |
循环控制语句:
循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:
控制语句 | 描述 |
---|---|
break 语句 | 在语句块执行过程中终止循环,并且跳出整个循环 |
continue 语句 | 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。 |
pass 语句 | pass是空语句,是为了保持程序结构的完整性。 |
- While 循环语句
while 判断条件:
执行语句……
# -*- coding: UTF-8 -*-
count = 0
while (count < 9):
print ('The count is:', count)
count = count + 1
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立。
# -*- coding: UTF-8 -*-
i = 1
while i < 10:
i += 1
if i % 2 > 0: # 非双数时跳过输出
continue
print(i) # 输出双数2、4、6、8、10
i = 1
while 1: # 循环条件为1必定成立
print(i)
i # 输出1~10
i += 1
if i > 10: # 当i大于10时跳出循环
break
- 无限循环
# -*- coding: UTF-8 -*-
var = 1
while var == 1 : # 该条件永远为true,循环将无限执行下去
num = input("Enter a number :")
print ("You entered: ", num)
注意:以上的无限循环你可以使用 CTRL+C 来中断循环。
- 循环使用 else 语句
在 python 中,while … else 在循环条件为 false 时执行 else 语句块:
# -*- coding: UTF-8 -*-
count = 0
while count < 5:
print(count, " is less than 5")
count = count + 1
else:
print(count, " is not less than 5")
- 简单语句组
类似 if 语句的语法,如果你的 while 循环体中只有一条语句,你可以将该语句与while写在同一行中, 如下所示:
# -*- coding: UTF-8 -*-
flag = 1
while (flag): print('Given flag is really true!')
- Python for 循环语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for iterating_var in sequence:
statements(s)
# -*- coding: UTF-8 -*-
for letter in 'Python': # 第一个实例
print('当前字母 :', letter)
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二个实例
print('当前水果 :', fruit)
- 通过序列索引迭代
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print('当前水果 :', fruits[index])
内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。
- 循环使用 else 语句
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
# -*- coding: UTF-8 -*-
for num in range(10,20): # 迭代 10 到 20 之间的数字
for i in range(2, num): # 根据因子迭代
if num % i == 0: # 确定第一个因子
j = num / i # 计算第二个因子
print('%d 等于 %d * %d' % (num, i, j))
break # 跳出当前循环
else: # 循环的 else 部分
print(num, '是一个质数')
- Python pass 语句
Python pass 是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句。
# -*- coding: UTF-8 -*-
# 输出 Python 的每个字母
for letter in 'Python':
if letter == 'h':
pass
print('这是 pass 块')
print('当前字母 :', letter)