Python基础(07):循环

一、概述

Python中的循环语句有 for 和 while。

Python循环语句的控制结构图如下所示:

《Python基础(07):循环》

二、while 循环

  • 语法:

    while 判断条件:
        <statements>
    else:
        <statements
    
  • 说明:
    当符合条件时,进行循环。当不再符合条件时,跳出循环

三、for 语句

  • 语法:

    for <variable> in <sequence>:
        <statements>
    else:
        <statements
    
  • 说明
    用于遍历任何序列的项目,如一个列表或者一个字符串。

四、range()函数

  • 如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列

    for i in range(5):
        print(i) 
    1
    2
    3
    4
    
  • 也可以使用range指定区间的值

    for i in range(5,9) :
        print(i)
     
    5
    6
    7
    8
    
  • 可以使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做’步长’

    for i in range(0, 10, 3) :
        print(i)
     
    3
    6
    9
    
  • 可以结合range()和len()函数以遍历一个序列的索引

    a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
    for i in range(len(a)):
        print(i, a[i])
     0 Google
    1 Baidu
    2 Runoob
    3 Taobao
    4 QQ
    
  • 可以使用range()函数来创建一个列表

    list(range(5))
     [0, 1, 2, 3, 4]
    

五、break和continue语句及循环中的else子句

  • break

    • 说明
      break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

    • 例子

      for letter in 'Runoob':    # 第一个实例
        if letter == 'b':
            break
        print ('当前字母为 :', letter)
      
  • continue

    • 说明
      continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

    • 例子

      for letter in 'Runoob':    # 第一个实例
        if letter == 'o':        # 字母为 o 时跳过输出
            continue
        print ('当前字母 :', letter)
      
  • 循环语句可以有 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是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句

while True:
    pass  # 等待键盘中断 (Ctrl+C)

最小的类:

class MyEmptyClass:
    pass

以下实例在字母为 o 时 执行 pass 语句块:

for letter in 'Runoob':
  if letter == 'o':
      pass
      print ('执行 pass 块')
  print ('当前字母 :', letter)
    原文作者:Ryan_Bai
    原文地址: http://blog.itpub.net/31490526/viewspace-2629885/
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞