if語句、while和for循環


一、if語句

1.多路分支
if 條件1:
	代碼塊1
elif 條件2:
	代碼塊2
else:
	代碼塊3
	
#python會執行第一次測試為真的語句,如果所有測試都為假,就執行else部分(本例)
2.三元表達式(短路運算)
x = y if a else z
# 只有條件a為真,才會執行x = y
#假設y是bool真值
x = (a and y) or z

二、while循環

1.break、continue、pass和else
  1. break跳出本層循環
  2. continue結束本次代碼塊的執行,跳到本層循環開頭
  3. pass什么也不做,空的占位語句 (無限循環while True:pass)
  4. else 只有當循環正常離開才會執行(也就是說,不是由於break導致循環結束)

三、for循環

​ for循環首行定義了一個(或一些)賦值目標,以及想要遍歷的對象,后面是要重復的語句。

賦值目標的變量名通常是for語句所在作用域的變量,它可以在循環主體中修改,但是當再次回到循環頂端時,會自動設成序列中的下一個元素。

for i in range(0,5):
	print(i)
	i = 3
執行結果:
0
1
2
3
4

​ for 語句也支持一個選用的else塊,和while 一樣:如果循環結束不是由於break導致的,就會執行else塊。(即序列中所有元素都訪問過了)

for <target> in <object>:
	<statments>
	if <test>:bresk
	if <test>:continue
else;
	<statments>
並行遍歷:zip和map函數
L1=[1,2,3]
L2=[4,5,6]
for i,j in L1,L2:
	print(i,j)	
報錯:
ValueError: too many values to unpack (expected 2)
# ---------------------------------------------------------------
for (i,j) in zip(L1,L2);
	print(i,j)
運行結果:	
1 4
2 5
3 6
# ---------------------------------------------------------------
for i in map(ord,'abc'):
    print(i)
運行結果:    
97
98
99
#map函數返回一個生成器對象
產生偏移和元素:enumerate
for i in enumerate('abc'):
	print(i)
運行結果:	
(0, 'a')
(1, 'b')
(2, 'c')
#enumerate函數也返回一個生成器對象


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM