本篇筆記知識點(diǎn):
- for循環(huán)
- while循環(huán)
- 循環(huán)控制語句: - break 語句; - continue 語句; - pass 語句
循環(huán)語句
循環(huán)這種概念很重要,因?yàn)樗亲層?jì)算機(jī)自動完成重復(fù)工作的常見方式之一蚂踊。
編程語言提供了各種控制結(jié)構(gòu)究飞,允許更復(fù)雜的執(zhí)行路徑业踏。
循環(huán)語句允許我們執(zhí)行一個語句或語句組多次
在Python中,有兩種循環(huán): for循環(huán) 和 while循環(huán):
- 兩者的相同點(diǎn)在于都能循環(huán)做一件重復(fù)的事情乙帮;
- 不同點(diǎn)在于饵筑,for循環(huán)是在序列窮盡時停止,while循環(huán)是在條件不成立時停止雷恃。
</br>
for循環(huán)
在Python中 for循環(huán)可以遍歷任何序列的項(xiàng)目疆股,如一個列表或者一個字符串等。
遍歷 - 對每個元素執(zhí)行相同的操作,通俗點(diǎn)說倒槐,就是把這個循環(huán)中的第一個元素到最后一個元素依次訪問一次.
-
for循環(huán)的流程圖:
- for循環(huán)的基本結(jié)構(gòu)如下:
for 臨時變量 in 列表或者字符串等可迭代對象:
循環(huán)滿足條件時執(zhí)行的代碼
for...in
是Python程序員使用最多的語句旬痹,for 循環(huán)用于迭代容器對象中的元素,這些對象可以是列表讨越、元組两残、字典、集合把跨、文件人弓,甚至可以是自定義類或者函數(shù),例如:
- 作用于列表
- 作用于元組
- 作用于字符串
- 作用于集合
- 作用于字典
- 作用于文件
代碼:
# 1.for循環(huán)遍歷列表
Fruits=['apple','orange','banana','grape']
for fruit in Fruits:
print(fruit)
print("結(jié)束遍歷")
# 2. 遍歷字符串
for str in 'abc':
print(str)
# 3. 遍歷字典:
for key,value in {"name":'Kaina',"age":22}.items():
print("鍵---"+key)
print("值---"+str(value))
# 4. 遍歷文件
for content in open("D:\\test.txt"):
print(content)
for循環(huán)和range
for x in range(1,5):
print(x)
print("注意:打印0-5的范圍內(nèi)的數(shù)着逐,不會包括5")
for x in range(1,5,2):
print(x)
print(1)
print("三個參數(shù):起始位置(默認(rèn)0)崔赌,結(jié)束位置(不包含)意蛀,步長(默認(rèn)為1,可以為負(fù)數(shù))")
for x in range (5,1,-2):
print(x)
While 循環(huán)語句
while 語句用于循環(huán)執(zhí)行程序健芭,即在某條件下浸间,循環(huán)執(zhí)行某段程序,以處理需要重復(fù)處理的相同任務(wù)吟榴。
執(zhí)行語句可以是單個語句或語句塊魁蒜。判斷條件可以是任何表達(dá)式,任何非零吩翻、或非空(null)的值均為true兜看。
當(dāng)判斷條件假false時,循環(huán)結(jié)束狭瞎。
執(zhí)行流程圖如下:
while循環(huán)的基本結(jié)構(gòu)如下:
while 條件:
條件滿足時细移,做的事情1
條件滿足時,做的事情2
條件滿足時熊锭,做的事情3
...(省略)...
例:
i = 0
while i < 5:
print("當(dāng)前是第%d次執(zhí)行循環(huán)" % (i + 1))
print("i=%d" % i)
I+=1
運(yùn)行結(jié)果:
當(dāng)前是第1次執(zhí)行循環(huán)
I=0
當(dāng)前是第2次執(zhí)行循環(huán)
I=1
當(dāng)前是第3次執(zhí)行循環(huán)
I=2
當(dāng)前是第4次執(zhí)行循環(huán)
I=3
當(dāng)前是第5次執(zhí)行循環(huán)
I=4
無限循環(huán)
我們可以通過設(shè)置條件表達(dá)式永不為False達(dá)到無限循環(huán)弧轧,例如:
#1.死循環(huán)
I=1
while I<9:
print(str(i)+"只羊")
#2.使用一個自增變量來約束條件
I=1
while I<4:
print(str(i)+"只羊")
# 需要一個變量來約束while中的條件
I+=1
- 可以使用CTRL +C退出當(dāng)前的無限循環(huán)。
- 無限循環(huán)在服務(wù)器上客戶端的實(shí)時請求非常有用碗殷。
循環(huán)語句的控制語句: ? break, continue
continue:當(dāng)前這次的循環(huán)跳出精绎,繼續(xù)下一個循環(huán)
break:跳出當(dāng)前整個循環(huán)
- 在while循環(huán)中使用break關(guān)鍵字
I=0
while True:
I+=1
if i==10:
break
#print("此內(nèi)容無法打印锌妻!")
print("循環(huán)的次數(shù)為:"+str(i))
運(yùn)行結(jié)果:循環(huán)的次數(shù)為:10
說明:使用break關(guān)鍵字代乃,不在執(zhí)行余下的代碼并退出整個循環(huán)。
- 在while循環(huán)中使用continue關(guān)鍵字:
number=0
while number<10:
number+=1
if number%2==0:
continue
print(number)
for...else 和 while..else
循環(huán)語句可以有 else 子句仿粹,它在窮盡列表(以for循環(huán))或條件變?yōu)?false (以while循環(huán))導(dǎo)致循環(huán)終止時被執(zhí)行,但循環(huán)被break終止時不執(zhí)行搁吓。
for...else
在 python 中,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 # 計(jì)算第二個因子
print '%d 等于 %d * %d' % (num,i,j)
break # 跳出當(dāng)前循環(huán)
else: # 循環(huán)的 else 部分
print num, '是一個質(zhì)數(shù)'
運(yùn)行結(jié)果:
0 等于 2 * 5
11 是一個質(zhì)數(shù)
12 等于 2 * 6
13 是一個質(zhì)數(shù)
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一個質(zhì)數(shù)
18 等于 2 * 9
19 是一個質(zhì)數(shù)
while...else
在Python的while循環(huán)中會有whlie...else語句摩骨,其else語句只有在while正常結(jié)束時才會被執(zhí)行,如果while循環(huán)被break語句結(jié)束契讲,是不會執(zhí)行else語句的仿吞。
即,在 python 中,while … else 在循環(huán)條件為 false 時執(zhí)行 else 語句塊:
var = 6
while var > 0:
var = var -1
if var == 3: # 變量為 3 時跳過輸出
break
print ('當(dāng)前變量值 :', var)
else:
print("Good bye!")
執(zhí)行結(jié)果:
當(dāng)前變量值 : 5
當(dāng)前變量值 : 4