二、循环语句

一般编程语言都有循环语句,循环语句允许我们执行一个语句或语句组多次。

循环语句的一般形式如下:

python循环语句

Python 提供了 for 循环和 while 循环,当然还有一些控制循环的语句:

循环控制语句 描述
break 在语句块执行过程中终止循环,并且跳出整个循环
continue 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环
pass pass 是空语句,是为了保持程序结构的完整性

1、While 循环语句

  1. count = 1
  2. sum = 0
  3. while (count <= 100):
  4. sum = sum + count
  5. count = count + 1
  6. print(sum)

输出的结果:

  1. 5050

当然 while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环

比如,上面的例子是计算 1 到 100 所有整数的和,当我们需要判断 sum 大于 1000 的时候,不在相加时,可以用到 break ,退出整个循环

  1. count = 1
  2. sum = 0
  3. while (count <= 100):
  4. sum = sum + count
  5. if ( sum > 1000): #当 sum 大于 1000 的时候退出循环
  6. break
  7. count = count + 1
  8. print(sum)

输出的结果:

  1. 1035

有时候,我们只想统计 1 到 100 之间的奇数和,那么也就是说当 count 是偶数,也就是双数的时候,我们需要跳出当次的循环,不想加,这时候可以用到 break

  1. count = 1
  2. sum = 0
  3. while (count <= 100):
  4. if ( count % 2 == 0): # 双数时跳过输出
  5. count = count + 1
  6. continue
  7. sum = sum + count
  8. count = count + 1
  9. print(sum)

输出的语句:

  1. 2500

在 Python 的 while 循环中,还可以使用 else 语句,while … else 在循环条件为 false 时执行 else 语句块

比如:

  1. count = 0
  2. while count < 5:
  3. print (count)
  4. count = count + 1
  5. else:
  6. print (count)

输出的结果:

  1. 0
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5

2、 for 循环语句

for循环可以遍历任何序列的项目,如一个列表或者一个字符串

它的流程图基本如下:

for循环的流程图

基本的语法格式:

  1. for iterating_var in sequence:
  2. statements(s)

实例:

  1. for letter in 'Hello 两点水':
  2. print(letter)

输出的结果如下:

  1. H
  2. e
  3. l
  4. l
  5. o

有 while … else 语句,当然也有 for … else 语句啦,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

  1. for num in range(10,20): # 迭代 10 到 20 之间的数字
  2. for i in range(2,num): # 根据因子迭代
  3. if num%i == 0: # 确定第一个因子
  4. j=num/i # 计算第二个因子
  5. print ('%d 是一个合数' % num)
  6. break # 跳出当前循环
  7. else: # 循环的 else 部分
  8. print ('%d 是一个质数' % num)

输出的结果:

  1. 10 是一个合数
  2. 11 是一个质数
  3. 12 是一个合数
  4. 13 是一个质数
  5. 14 是一个合数
  6. 15 是一个合数
  7. 16 是一个合数
  8. 17 是一个质数
  9. 18 是一个合数
  10. 19 是一个质数

3、嵌套循环

Python 语言允许在一个循环体里面嵌入另一个循环。上面的实例也是使用了嵌套循环的,这里就不给出实例了。

具体的语法如下:

for 循环嵌套语法

  1. for iterating_var in sequence:
  2. for iterating_var in sequence:
  3. statements(s)
  4. statements(s)

while 循环嵌套语法

  1. while expression:
  2. while expression:
  3. statement(s)
  4. statement(s)

除此之外,你也可以在循环体内嵌入其他的循环体,如在 while 循环中可以嵌入 for 循环, 反之,你可以在 for 循环中嵌入 while 循环