一般編程語言都有循環(huán)語句,循環(huán)語句允許我們執(zhí)行一個語句或語句組多次。
循環(huán)語句的一般形式如下:
Python 提供了 for 循環(huán)和 while 循環(huán),當(dāng)然還有一些控制循環(huán)的語句:
| 循環(huán)控制語句 | 描述 |
|---|---|
| break | 在語句塊執(zhí)行過程中終止循環(huán),并且跳出整個循環(huán) |
| continue | 在語句塊執(zhí)行過程中終止當(dāng)前循環(huán),跳出該次循環(huán),執(zhí)行下一次循環(huán) |
| pass | pass 是空語句,是為了保持程序結(jié)構(gòu)的完整性 |
count = 1
sum = 0
while (count <= 100):
sum = sum + count
count = count + 1
print(sum)
輸出的結(jié)果:
5050
當(dāng)然 while 語句時還有另外兩個重要的命令 continue,break 來跳過循環(huán),continue 用于跳過該次循環(huán),break 則是用于退出循環(huán)
比如,上面的例子是計算 1 到 100 所有整數(shù)的和,當(dāng)我們需要判斷 sum 大于 1000 的時候,不在相加時,可以用到 break ,退出整個循環(huán)
count = 1
sum = 0
while (count <= 100):
sum = sum + count
if ( sum > 1000): #當(dāng) sum 大于 1000 的時候退出循環(huán)
break
count = count + 1
print(sum)
輸出的結(jié)果:
1035
有時候,我們只想統(tǒng)計 1 到 100 之間的奇數(shù)和,那么也就是說當(dāng) count 是偶數(shù),也就是雙數(shù)的時候,我們需要跳出當(dāng)次的循環(huán),不想加,這時候可以用到 break
count = 1
sum = 0
while (count <= 100):
if ( count % 2 == 0): # 雙數(shù)時跳過輸出
count = count + 1
continue
sum = sum + count
count = count + 1
print(sum)
輸出的語句:
2500
在 Python 的 while 循環(huán)中,還可以使用 else 語句,while … else 在循環(huán)條件為 false 時執(zhí)行 else 語句塊
比如:
count = 0
while count < 5:
print (count)
count = count + 1
else:
print (count)
輸出的結(jié)果:
0
1
2
3
4
5
for循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串
它的流程圖基本如下:
基本的語法格式:
for iterating_var in sequence:
statements(s)
實例:
for letter in 'Hello 兩點水':
print(letter)
輸出的結(jié)果如下:
H
e
l
l
o
兩
點
水
有 while … else 語句,當(dāng)然也有 for … else 語句啦,for 中的語句和普通的沒有區(qū)別,else 中的語句會在循環(huán)正常執(zhí)行完(即 for 不是通過 break 跳出而中斷的)的情況下執(zhí)行,while … else 也是一樣。
for num in range(10,20): # 迭代 10 到 20 之間的數(shù)字
for i in range(2,num): # 根據(jù)因子迭代
if num%i == 0: # 確定第一個因子
j=num/i # 計算第二個因子
print ('%d 是一個合數(shù)' % num)
break # 跳出當(dāng)前循環(huán)
else: # 循環(huán)的 else 部分
print ('%d 是一個質(zhì)數(shù)' % num)
輸出的結(jié)果:
10 是一個合數(shù)
11 是一個質(zhì)數(shù)
12 是一個合數(shù)
13 是一個質(zhì)數(shù)
14 是一個合數(shù)
15 是一個合數(shù)
16 是一個合數(shù)
17 是一個質(zhì)數(shù)
18 是一個合數(shù)
19 是一個質(zhì)數(shù)
Python 語言允許在一個循環(huán)體里面嵌入另一個循環(huán)。上面的實例也是使用了嵌套循環(huán)的,這里就不給出實例了。
具體的語法如下:
for 循環(huán)嵌套語法
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)
while 循環(huán)嵌套語法
while expression:
while expression:
statement(s)
statement(s)
除此之外,你也可以在循環(huán)體內(nèi)嵌入其他的循環(huán)體,如在 while 循環(huán)中可以嵌入 for 循環(huán), 反之,你可以在 for 循環(huán)中嵌入 while 循環(huán)