py代碼在執行時是按照自上而下的順序執行的,通過流程控制語句可以讓程序反覆執行。
條件判斷語句
if語句
語法:
if 條件表達式 :
代碼塊
- 代碼塊:
代碼塊中保存着一組代碼,同一個代碼塊中的代碼,要麼都執行要麼都不執行。py的代碼塊是以縮進開始,縮進結束。
縮進有兩種方式:
- 使用tab鍵
- 使用空格(四個)
py推薦使用空格,py代碼中的縮進方式必須統一。
# 一行也需要縮進
a=True
if a :
print('hel')
if True :
print('hel')
# 代碼塊有多條時,都需要縮進
a=10
if a>0:
print('hel')
print('lo')
# 判斷條件可以通過and和or相連接
a=10
if a>10 and True :
print('hel')
print('lo')
if-else語句
if-else語句在執行時,先對if後的條件表達式進行求值判斷,爲True執行if後的代碼塊,爲False執行else後的代碼塊。
if-elif-else語句
會自上向下依此對條件表達式進行求值判斷,表達式結果爲True,則執行當前代碼塊。爲False則判斷下一個表達式,如果所有表達式都爲False,則執行else後的代碼塊。
循環語句
循環嵌套和java一樣。
while循環
# 和java一樣
語法1:
while 條件表達式 :
代碼塊(縮進)
i=2
while i<5 :
i+=1;
print(i)
#不管 while語句是否執行,else語句肯定執行
語法2:
while 條件表達式:
代碼塊(縮進)
else :
代碼塊(縮進)
i=6
while i<5 :
i+=1;
print(i)
else :
print("wa")
for 循環
for循環可以遍歷任何序列的項目,如列表,字典,字符串等
格式如下:
for <variable/變量> in <sequence/順序>:
<statements/表述>
else: # 可有可無,參照while
<statements>
# 遍歷字符串
for s in 'sud' :
print(s)
else :
print('eh')
range()函數
和fo循環經常搭配使用的是range()函數。
用法:range(a,b,c)
a:計數從a開始,不填默認爲0.
b:計數到b結束,但不包括b。
c:計數的間隔,不填時默認爲1,若爲負數,則爲倒序。
注意:若a<b並且c爲負數,不執行。 c不可以爲0
range(x):x=b 0->b-1
range(m,n) m=a,n=b a->b-1
# 0-4的遍歷
for i in range(5):
print(i)
while和for區別:
- while:循環次數不明確,把一件事做N遍
- for: 循環次數明確,一件事做N遍
break/continue/pass
- break: 跳出循環
- continue: 結束本次循環
# 只有外部有循環時纔有效
while True :
if True:
break
else:
continue
- pass:只用來佔位,使程序不至於報錯
# 此程序會報錯
if True :
else :
print('s')
# 此程序不會報錯
if True :
pass
else :
print('s')