流程條件控制語句
阿新 • • 發佈:2021-12-08
目錄
流程條件控制語句
條件判斷
if 語句
if 判斷條件:
執行語句1
elif:
執行語句2
....
else:
執行語句N
python3.8新增了變數賦值方式(變數a後的冒號和等號之間沒有空格)
if a := 10 == 10:
print("this is new way)
對比舊的賦值方式:
a=10
if a==10:
print('this is old way!')
迴圈遍歷
for迴圈
for迴圈可以遍歷所有序列的物件,
常用的可迭代物件有:string、list 、dictionary、range物件
語法:
for iterating in sequence: #iterating 可迭代物件
print(iterating)
巢狀迴圈
for i in range(5): str_1='' for j in range(3): str_1 += str(j)+',' print("第",i+1,'行 的資料是:',str_1)
while迴圈
只要條件滿足就會一直執行迴圈
語法
while condition==1:
print()
終止迴圈 break
跳過本次迴圈 continue
空語句 pass
三目運算子(三元表示式)
規則:
- 遵循if... else...格式
- 只能是一行程式碼
語法:
exp1 if contion else exp2
如果:condition成立,執行exp1
不成立,執行exp2
示例:
a=int(input("輸入一個數字:")) print("i finished my work todays=")if a >4 else print('bye!')
推導式
推導式又稱為解析式,是可以從一個 資料序列 構建另一個新的資料序列的結構體;資料序列:指字典、列表、字串、range
主要的推導式有:列表推導式、字典推導式、集合推導式等
規則
- 只能新增 if 判斷
- 可以巢狀for迴圈
- 複雜的場景可以使用三目運算子和推導式相結合,三目運算子做條件判斷,推導式作為判斷後執行的程式碼
語法:
第一個x 應該指的是新的序列的元素形式,比如字典推導式 for前面的x格式就是 x:x
也可以對x 進行計算,型別的轉換,加上額外的字元等。
這樣的話,for迴圈遍歷的是一個序列,就是上面提到的資料序列 ,那就不只是range 了
result=[x for x in range(5) if x >2]
print(result)
#字典推導式 #對生成的字典的鍵做了一些操作
result={str(x)+'haha':x for x in range(5)}
print(result)
輸出:
{'0haha': 0, '1haha': 1, '2haha': 2, '3haha': 3, '4haha': 4}
示例:
列表推導式
#列表
result=[x for x in range(5) if x >2]
print(result)
#執行結果:[3, 4]
字典推導式
集合推導式
result={x for x in range(10) if x<8}
print(result)
結果:
{0, 1, 2, 3, 4, 5, 6, 7}
字典推導式
result {x:x for x in range(5)}
print(result)
結果:
{0: 0, 2: 2, 4: 4, 6: 6, 8: 8}
推導式+三目運算子
格式: 推導式1 if 判斷條件 else 推導式2
#三目運算子+推導式
number=10
result=[x for x in range(5)] if number>10 else [x for x in range(20,30)]
print(result)
輸出:
[20, 21, 22, 23, 24, 25, 26, 27, 28, 29]