(四)Python3 循环语句——for

for循环的一般格式如下:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

Python loop循环实例:

>>>languages = ["C", "C++", "Perl", "Python"] 
>>> for x in languages:
...     print (x)
... 
C
C++
Perl
Python
>>>

以下 for 实例中使用了 break 语句,break 语句用于跳出当前循环体:

 #!/usr/bin/python3
  
 sites = ["Baidu", "Google","Runoob","Taobao"]
 for site in sites:
     if site == "Runoob":
         print("欢迎您!")
         break
     print("循环数据 " + site)
 else:
     print("没有循环数据!")
 print("完成循环!")

执行脚本后,在循环到 "Runoob"时会跳出循环体:

循环数据 Baidu
循环数据 Google
欢迎您!
完成循环!

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

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

 #!/usr/bin/python3
  
 for letter in 'Runoob':     # 第一个实例
    if letter == 'b':
       break
    print ('当前字母为 :', letter)
   
 var = 10                    # 第二个实例
 while var > 0:              
    print ('当期变量值为 :', var)
    var = var -1
    if var == 5:
       break
  
 print ("Good bye!")

执行以上脚本输出结果为:

当前字母为 : R
当前字母为 : u
当前字母为 : n
当前字母为 : o
当前字母为 : o
当期变量值为 : 10
当期变量值为 : 9
当期变量值为 : 8
当期变量值为 : 7
当期变量值为 : 6
Good bye!

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

 #!/usr/bin/python3
  
 for letter in 'Runoob':     # 第一个实例
    if letter == 'o':        # 字母为 o 时跳过输出
       continue
    print ('当前字母 :', letter)
  
 var = 10                    # 第二个实例
 while var > 0:              
    var = var -1
    if var == 5:             # 变量为 5 时跳过输出
       continue
    print ('当前变量值 :', var)
 print ("Good bye!")

执行以上脚本输出结果为:

当前字母 : R
当前字母 : u
当前字母 : n
当前字母 : b
当前变量值 : 9
当前变量值 : 8
当前变量值 : 7
当前变量值 : 6
当前变量值 : 4
当前变量值 : 3
当前变量值 : 2
当前变量值 : 1
当前变量值 : 0
Good bye!

循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。

如下实例用于查询质数的循环例子:

#!/usr/bin/python3

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, ' 是质数')

执行以上脚本输出结果为:

2  是质数
3  是质数
4 等于 2 * 2
5  是质数
6 等于 2 * 3
7  是质数
8 等于 2 * 4
9 等于 3 * 3

 

posted @ 2019-05-16 23:06  小码蚁儿  阅读(795)  评论(0编辑  收藏  举报