1. 程式人生 > 其它 >流程條件控制語句

流程條件控制語句

目錄

流程條件控制語句

條件判斷

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
主要的推導式有:列表推導式、字典推導式、集合推導式等

規則

  1. 只能新增 if 判斷
  2. 可以巢狀for迴圈
  3. 複雜的場景可以使用三目運算子和推導式相結合,三目運算子做條件判斷,推導式作為判斷後執行的程式碼
    語法:

第一個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]