1 循环语句
Python中的循环语句有for和while
同样需要注意冒号和缩进。另外,在Python中没有do..while循环。
2 while 循环
比如使用了 while 来计算 1 到 1000 的总和:1
2
3
4
5
6
7
8#!/usr/bin/env python3
n = 1000
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("1 到 %d 之和为: %d" % (n,sum))
输出结果:1
1 到 1000 之和为: 500500
2.1 无线循环
通过设置条件表达式永远为true来实现无限循环,例如:1
2
3
4
5
6
7#!/usr/bin/env python3
var,cnt= 1,0
num = int(input("输入一个数字 :"))
while var == 1 : # 表达式永远为 true
print (cnt,"你输入的数字是: ", num)
cnt = cnt+1
输出结果:1
2
3
4
5
6
7
8
9
10
11输入一个数字 :666
...
176736 你输入的数字是: 666
176737 你输入的数字是: 666
176738 你输入的数字是: 666
176739 你输入的数字是: 666
176740 你输入的数字是: 666
176741 你输入的数字是: 666
176742 你输入的数字是: 666
176743 你输入的数字是: 666
...
可以使用 CTRL+C 来退出当前的无限循环。
2.2 while 循环使用 else 语句
在 while … else 在条件语句为 false 时执行 else 的语句块:1
2
3
4
5
6
7#!/usr/bin/env python3
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
输出结果:1
2
3
4
5
60 小于 5
1 小于 5
2 小于 5
3 小于 5
4 小于 5
5 大于或等于 5
2.3 简单语句组
类似if语句的语法,如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中,例如:1
2
3
4#!/usr/bin/env python3
flag = 1
while (flag): print ('无限死循环~')
print ("Good bye!")
输出结果:1
2
3
4
5
6
7
8
9...
无限死循环~
无限死循环~
无限死循环~
无限死循环~
无限死循环~
无限死循环~
无限死循环~
...
2.4 for语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串,例如:1
2
3
4
5
6
7
8
9
10#!/usr/bin/env python3
sites = ["Baidu", "Google","Amazon","Taobao"]
for site in sites:
if site == "Taobao":
print("马云爸爸!")
break
print("循环数据 " + site)
else:
print("没有循环数据!")
print("完成循环!")
输出结果:1
2
3
4
5
6
7...
循环数据 Baidu
循环数据 Google
循环数据 Amazon
马云爸爸!
完成循环!
...
2.5 range() 函数
如果你需要遍历数字序列,可以使用内置range()函数,例如:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#!/usr/bin/env python3
for i in range(5):
print(i)
print('\n------------------------------\n')
for i in range(5,9) :
print(i)
print('\n------------------------------\n')
for i in range(0, 10, 3) :
print(i)
print('\n------------------------------\n')
for i in range(-10, -100, -30) :
print(i)
print('\n------------------------------\n')
sites = ["Baidu", "Google","Amazon","Taobao"]
for sites in range(len(a)):
print(i, a[i])
输出结果:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
320
1
2
3
4
------------------------------
5
6
7
8
------------------------------
0
3
6
9
------------------------------
-10
-40
-70
------------------------------
0 Baidu
1 Google
2 Amazon
3 Taobao
2.6 break和continue语句及循环中的else子句
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。 例如:1
2
3
4
5
6
7
8
9
10
11
12
13#!/usr/bin/env python3
for letter in 'orange': # 第一个实例
if letter == 'n':
break
print ('当前字母为 :', letter)
var = 10 # 第二个实例
while var > 0:
print ('当期变量值为 :', var)
var = var -1
if var == 5:
break
print ("Good bye!")
输出结果:1
2
3
4
5
6
7
8
9当前字母为 : o
当前字母为 : r
当前字母为 : a
当期变量值为 : 10
当期变量值为 : 9
当期变量值为 : 8
当期变量值为 : 7
当期变量值为 : 6
Good bye!
continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环,例如:1
2
3
4
5
6
7
8
9
10
11
12#!/usr/bin/env python3
for letter in 'orange': # 第一个实例
if letter == 'n':
continue
print ('当前字母为 :', letter)
var = 10 # 第二个实例
while var > 0:
print ('当期变量值为 :', var)
var = var -1
if var == 5:
continue
print ("Good bye!")
输出结果:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16当前字母为 : o
当前字母为 : r
当前字母为 : a
当前字母为 : g
当前字母为 : e
当期变量值为 : 10
当期变量值为 : 9
当期变量值为 : 8
当期变量值为 : 7
当期变量值为 : 6
当期变量值为 : 5
当期变量值为 : 4
当期变量值为 : 3
当期变量值为 : 2
当期变量值为 : 1
Good bye!
循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。
2.7 pass语句
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,例如:
在 C/C++ 中:1
2
3
4
5
6if(true)
; //do nothing
else
{
//do something
}
而在Python中则是:1
2
3
4if true:
pass #do nothing
else:
#do something