Python 循環(huán)語句
程序在一般情況下是按順序執(zhí)行的。
編程語言提供了各種控制結(jié)構(gòu)嘉赎,允許更復(fù)雜的執(zhí)行路徑痴颊。
循環(huán)語句允許我們執(zhí)行一個語句或語句組多次,下面是在大多數(shù)編程語言中的循環(huán)語句的一般形式:
Python提供了for循環(huán)和while循環(huán)(在Python中沒有do..while循環(huán)):
循環(huán)類型 | 描述 |
---|---|
while循環(huán) | 在給定的判斷條件為 true 時執(zhí)行循環(huán)體约素,否則退出循環(huán)體。 |
for循環(huán) | 重復(fù)執(zhí)行語句 |
嵌套循環(huán) | 你可以在while循環(huán)體中嵌套for循環(huán) |
循環(huán)控制語句
循環(huán)控制語句可以更改語句執(zhí)行的順序笆凌。Python支持以下循環(huán)控制語句:
控制語句 | 描述 |
---|---|
break語句 | 在語句塊執(zhí)行過程中終止循環(huán)圣猎,并且跳出整個循環(huán) |
continue語句 | 在語句塊執(zhí)行過程中終止當(dāng)前循環(huán),跳出該次循環(huán)乞而,執(zhí)行下一次循環(huán)送悔。 |
pass語句 | pass是空語句,是為了保持程序結(jié)構(gòu)的完整性爪模。 |
-
Python While循環(huán)語句
Python 編程中 while 語句用于循環(huán)執(zhí)行程序欠啤,即在某條件下,循環(huán)執(zhí)行某段程序呻右,以處理需要重復(fù)處理的相同任務(wù)跪妥。其基本形式為:
while 判斷條件:
執(zhí)行語句……
執(zhí)行語句可以是單個語句或語句塊。判斷條件可以是任何表達式声滥,任何非零眉撵、或非空(null)的值均為true。
當(dāng)判斷條件假false時落塑,循環(huán)結(jié)束纽疟。
執(zhí)行流程圖如下:
Gif 演示 Python while 語句執(zhí)行過程
while 語句時還有另外兩個重要的命令 continue,break 來跳過循環(huán)憾赁,continue 用于跳過該次循環(huán)污朽,break 則是用于退出循環(huán),此外"判斷條件"還可以是個常值龙考,表示循環(huán)必定成立蟆肆,具體用法如下:
# continue 和 break 用法
i = 1
while i < 10:
i += 1
if i%2 > 0: # 非雙數(shù)時跳過輸出
continue
print i # 輸出雙數(shù)2、4晦款、6炎功、8、10
i = 1
while 1: # 循環(huán)條件為1必定成立
print i # 輸出1~10
i += 1
if i > 10: # 當(dāng)i大于10時跳出循環(huán)
break
-
無限循環(huán)
如果條件判斷語句永遠為 true缓溅,循環(huán)將會無限的執(zhí)行下去蛇损,如下實例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
var = 1
while var == 1 : # 該條件永遠為true,循環(huán)將無限執(zhí)行下去
num = raw_input("Enter a number :")
print "You entered: ", num
print "Good bye!"
以上實例輸出結(jié)果:
Enter a number :20
You entered: 20
Enter a number :29
You entered: 29
Enter a number :3
You entered: 3
Enter a number between :Traceback (most recent call last):
File "test.py", line 5, in <module>
num = raw_input("Enter a number :")
KeyboardInterrupt
注意:以上的無限循環(huán)你可以使用 CTRL+C 來中斷循環(huán)。
-
循環(huán)使用else語句
在 python 中淤齐,while … else 在循環(huán)條件為 false 時執(zhí)行 else 語句塊:
#!/usr/bin/python
count = 0
while count < 5:
print count, " is less than 5"
count = count + 1
else:
print count, " is not less than 5"
-
簡單語句組
類似 if 語句的語法股囊,如果你的 while 循環(huán)體中只有一條語句,你可以將該語句與while寫在同一行中更啄, 如下所示:
#!/usr/bin/python
flag = 1
while (flag): print 'Given flag is really true!'
print "Good bye!"
注意:以上的無限循環(huán)你可以使用 CTRL+C 來中斷循環(huán)稚疹。
實例 while循環(huán) - 九九乘法表
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#九九乘法表
i = 1
while i :
j = 1
while j:
print j ,"*", i ," = " , i * j , ' ',
if i == j :
break
j += 1
if j >= 10:
break
print "\n"
i += 1
if i >= 10:
break
-
Python for循環(huán)語句
Python for循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串锈死。
for循環(huán)的語法格式如下:
for iterating_var in sequence:
statements(s)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for letter in 'Python': # 第一個實例
print '當(dāng)前字母 :', letter
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二個實例
print '當(dāng)前水果 :', fruit
print "Good bye!"
-
通過序列索引迭代
另外一種執(zhí)行循環(huán)的遍歷方式是通過索引贫堰,如下實例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print '當(dāng)前水果 :', fruits[index]
print "Good bye!"
以上實例我們使用了內(nèi)置函數(shù) len() 和 range(),函數(shù) len() 返回列表的長度,即元素的個數(shù)待牵。 range返回一個序列的數(shù)。
-
循環(huán) 使用else語句
在 python 中喇勋,for … else 表示這樣的意思缨该,for 中的語句和普通的沒有區(qū)別,else 中的語句會在循環(huán)正常執(zhí)行完(即 for 不是通過 break 跳出而中斷的)的情況下執(zhí)行川背,while … else 也是一樣贰拿。
例子:打印質(zhì)數(shù)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for num in range(10, 20):
for i in range(2, num):
if num%i == 0:
j=num/i
print '%d 等于 %d * %d' % (num,i,j)
break;
else:
print num, '是一個質(zhì)數(shù)'
-
Python循環(huán)嵌套
Python 語言允許在一個循環(huán)體里面嵌入另一個循環(huán)。
Python for 循環(huán)嵌套語法:
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)
Python 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)缴允。
實例:
以下實例使用了嵌套循環(huán)輸出2~100之間的素數(shù):
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#!/usr/bin/python
# -*- coding: UTF-8 -*-
num=[]
i=2
for i in range(2, 100):
j=2
for j in range(2, i):
if(i%j==0):
break;
else:
num.append(i)
print(num)
-
Python break語句
Python break語句荚守,就像在C語言中,打破了最小封閉for或while循環(huán)练般。
break語句用來終止循環(huán)語句矗漾,即循環(huán)條件沒有False條件或者序列還沒被完全遞歸完,也會停止執(zhí)行循環(huán)語句薄料。
break語句用在while和for循環(huán)中敞贡。
如果您使用嵌套循環(huán),break語句將停止執(zhí)行最深層的循環(huán)摄职,并開始執(zhí)行下一行代碼誊役。
Python語言 break 語句語法:
break
break 實例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for letter in 'Python': # 第一個實例
if letter == 'h':
break
print '當(dāng)前字母 :', letter
var = 10 # 第二個實例
while var > 0:
print '當(dāng)前變量值 :', var
var = var -1
if var == 5: # 當(dāng)變量 var 等于 5 時退出循環(huán)
break
print "Good bye!"
-
Python continue語句
Python continue 語句跳出本次循環(huán),而break跳出整個循環(huán)谷市。
continue 語句用來告訴Python跳過當(dāng)前循環(huán)的剩余語句蛔垢,然后繼續(xù)進行下一輪循環(huán)。
continue語句用在while和for循環(huán)中歌懒。
Python 語言 continue 語句語法格式如下:
continue
continue實例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for letter in 'Python': # 第一個實例
if letter == 'h':
continue
print '當(dāng)前字母 :', letter
var = 10 # 第二個實例
while var > 0:
var = var -1
if var == 5:
continue
print '當(dāng)前變量值 :', var
print "Good bye!"
-
Python pass語句
Python pass是空語句啦桌,是為了保持程序結(jié)構(gòu)的完整性。
pass 不做任何事情,一般用做占位語句甫男。
Python 語言 pass 語句語法格式如下:
pass
pass實例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 輸出 Python 的每個字母
for letter in 'Python':
if letter == 'h':
pass
print '這是 pass 塊'
print '當(dāng)前字母 :', letter
print "Good bye!"