本篇筆記知識點:
- for循環(huán)
- while循環(huán)
- 循環(huán)控制語句: - break 語句; - continue 語句; - pass 語句
循環(huán)語句
循環(huán)這種概念很重要,因為它是讓計算機自動完成重復工作的常見方式之一。
編程語言提供了各種控制結構,允許更復雜的執(zhí)行路徑。
循環(huán)語句允許我們執(zhí)行一個語句或語句組多次
在Python中,有兩種循環(huán): for循環(huán) 和 while循環(huán):
- 兩者的相同點在于都能循環(huán)做一件重復的事情;
- 不同點在于,for循環(huán)是在序列窮盡時停止,while循環(huán)是在條件不成立時停止。
</br>
for循環(huán)
在Python中 for循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串等。
遍歷 - 對每個元素執(zhí)行相同的操作,通俗點說,就是把這個循環(huán)中的第一個元素到最后一個元素依次訪問一次.
-
for循環(huán)的流程圖:
for 循環(huán).jpg
- for循環(huán)的基本結構如下:
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("結束遍歷")
# 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的范圍內的數(shù),不會包括5")
for x in range(1,5,2):
print(x)
print(1)
print("三個參數(shù):起始位置(默認0),結束位置(不包含),步長(默認為1,可以為負數(shù))")
for x in range (5,1,-2):
print(x)
While 循環(huán)語句
while 語句用于循環(huán)執(zhí)行程序,即在某條件下,循環(huán)執(zhí)行某段程序,以處理需要重復處理的相同任務。
執(zhí)行語句可以是單個語句或語句塊。判斷條件可以是任何表達式,任何非零、或非空(null)的值均為true。
當判斷條件假false時,循環(huán)結束。
執(zhí)行流程圖如下:

while循環(huán)的基本結構如下:
while 條件:
條件滿足時,做的事情1
條件滿足時,做的事情2
條件滿足時,做的事情3
...(省略)...
例:
i = 0
while i < 5:
print("當前是第%d次執(zhí)行循環(huán)" % (i + 1))
print("i=%d" % i)
I+=1
運行結果:
當前是第1次執(zhí)行循環(huán)
I=0
當前是第2次執(zhí)行循環(huán)
I=1
當前是第3次執(zhí)行循環(huán)
I=2
當前是第4次執(zhí)行循環(huán)
I=3
當前是第5次執(zhí)行循環(huán)
I=4
無限循環(huán)
我們可以通過設置條件表達式永不為False達到無限循環(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退出當前的無限循環(huán)。
- 無限循環(huán)在服務器上客戶端的實時請求非常有用。
循環(huán)語句的控制語句: ? break, continue
continue:當前這次的循環(huán)跳出,繼續(xù)下一個循環(huán)
break:跳出當前整個循環(huán)
- 在while循環(huán)中使用break關鍵字
I=0
while True:
I+=1
if i==10:
break
#print("此內容無法打?。?)
print("循環(huán)的次數(shù)為:"+str(i))
運行結果:循環(huán)的次數(shù)為:10
說明:使用break關鍵字,不在執(zhí)行余下的代碼并退出整個循環(huán)。
- 在while循環(huán)中使用continue關鍵字:
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))導致循環(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 # 計算第二個因子
print '%d 等于 %d * %d' % (num,i,j)
break # 跳出當前循環(huán)
else: # 循環(huán)的 else 部分
print num, '是一個質數(shù)'
運行結果:
0 等于 2 * 5
11 是一個質數(shù)
12 等于 2 * 6
13 是一個質數(shù)
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一個質數(shù)
18 等于 2 * 9
19 是一個質數(shù)
while...else
在Python的while循環(huán)中會有whlie...else語句,其else語句只有在while正常結束時才會被執(zhí)行,如果while循環(huán)被break語句結束,是不會執(zhí)行else語句的。
即,在 python 中,while … else 在循環(huán)條件為 false 時執(zhí)行 else 語句塊:
var = 6
while var > 0:
var = var -1
if var == 3: # 變量為 3 時跳過輸出
break
print ('當前變量值 :', var)
else:
print("Good bye!")
執(zhí)行結果:
當前變量值 : 5
當前變量值 : 4
