Python3 循环语句-2
range() 函数
如果你需要遍历数字序列,可以使用内置 range() 函数。它会生成数列,例如:
实例
>>>foriinrange(5):
… print(i)
…
0
1
2
3
4
你也可以使用 range() 指定区间的值:
实例
>>>foriinrange(5,9) :
print(i)
5
6
7
8
>>>
也可以使 range() 以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做’步长’):
## 实例
>>>for i in range(0, 10, 3) :
print(i)
0
3
6
9
>>>
负数:
## 实例
>>>for i in range(-10, -100, -30) :
print(i)
-10
-40
-70
>>>
您可以结合 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 执行流程图:
continue 执行流程图:
while 语句代码执行过程:
for 语句代码执行过程:
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
实例
while 中使用 break:
## 实例
n = 5
while n > 0:
n -= 1
if n == 2:
break
print(n)
print('循环结束。')
输出结果为:
4
3
循环结束。
while 中使用 continue:
## 实例
n = 5
while n > 0:
n -= 1
if n == 2:
continue
print(n)
print('循环结束。')
输出结果为:
4
3
1
0
循环结束。
更多实例如下:
## 实例
#!/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!
以下实例循环字符串 Runoob,碰到字母 o 跳过输出:
## 实例
#!/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
pass 语句
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,如下实例
## 实例
>>>while True:
... pass # 等待键盘中断 (Ctrl+C)
最小的类:
## 实例
>>>class MyEmptyClass:
... pass
以下实例在字母为 o 时 执行 pass 语句块:
实例
#!/usr/bin/python3
for letter in 'Runoob':
if letter == 'o':
pass
print ('执行 pass 块')
print ('当前字母 :', letter)
print ("Good bye!")
执行以上脚本输出结果为:
当前字母: R
当前字母: u
当前字母: n
执行pass块
当前字母: o
执行pass块
当前字母: o
当前字母: b
Good bye!