python基礎之邏輯控制語句
阿新 • • 發佈:2018-12-19
邏輯控制語句
-
語法規則
a=12 if a>10: a=a+10;b=a+1 c=a+\ 10+20+\ 10 d=(a+10 +20 +30) print('a=',a) print('b=',b) print('c=',c) print('d=',d)
- 行結束沒有分號
- 沒有語句塊大括號,使用語句縮排
- 條件部分沒有括號
- 分號用於多條簡單的語句放在同一行,作為分隔符
- 跨行可以使用‘\’,或者(),當然[],{}等也適合。
demo
while True: reply =input('Enter text:') if reply == 'stop': break elif not reply.isdigit(): print('Bad'*8) else: print(int(reply)**2) print('bye')
-
條件語句
if 判斷條件: 執行語句…… else: 執行語句……
多條件
if 判斷條件1: 執行語句1…… elif 判斷條件2: 執行語句2…… elif 判斷條件3: 執行語句3…… else: 執行語句4……
由於 python 並不支援 switch 語句,所以多個條件判斷,只能用 elif 來實現,如果判斷需要多個條件需同時判斷時,可以使用 or (或),表示兩個條件有一個成立時判斷條件成功;使用 and (與)時,表示只有兩個條件同時成立的情況下,判斷條件才成功。
備註 python 複合布林表示式計算採用短路規則,即如果通過前面的部分已經計算出整個表示式的值,則後面的部分不再計算。如下面的程式碼將正常執行不會報除零錯誤,但是如果改為or則會出錯
a=0 b=1 if ( a > 0 ) and ( b / a > 2 ): print "yes" else : print "no"
Python 沒有 switch/case 語句,如果遇到很多中情況的時候,寫很多的 if/else 不是很好維護,這時可以考慮用字典對映的方法替代:
#!/usr/bin/env python # -*- coding: utf-8 -*- import os def zero(): return "zero" def one(): return "one" def two(): return "two" def num2Str(arg): switcher={ 0:zero, 1:one, 2:two, 3:lambda:"three" } func=switcher.get(arg,lambda:"nothing") return func() if __name__ == '__main__': print num2Str(0)
-
三元運算子
x=1 # if x>0: # a=True # else: # a=False f=True if x>0 else False print(a)
-
迴圈語句
-
while
count = 0 while count < 5: print count, " is less than 5" count = count + 1 else: print count, " is not less than 5"
-
for
#!/usr/bin/python # -*- coding: UTF-8 -*- for letter in 'Python': # 第一個例項 print '當前字母 :', letter fruits = ['banana', 'apple', 'mango'] for fruit in fruits: # 第二個例項 print '當前水果 :', fruit print "Good bye!"
fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)): print '當前水果 :', fruits[index] else: print('over')
-
-
break
-
continue
-
range() zip()
arr=[1,2,3,4,5,6,7,8] print(arr[1::2]) print(arr[::2]) for i in range(0,len(arr),2): print(i)
arr1=['a','b','c'] arr2=[97,98,99] li=list(zip(arr1,arr2)) print(li) #轉化為字典 dic=dict(zip(arr1,arr2)) print(dic) for(x,y) in zip(arr1,arr2): print(x,':',y)
x,y,z=(1,2,3),(4,5,6),(7,8,9) li=list(zip(x,y,z)) print(li) #[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
-
enumerate()
enumerate()返回一個生成器物件
arr1=['a','b','c'] e=enumerate(arr1) print(next(e)) for (index,item) in enumerate(arr1): print(index,'--->',item)
-
pass
Python pass是空語句,是為了保持程式結構的完整性。
pass 不做任何事情,一般用做佔位語句。
Python 語言 pass 語句語法格式如下:
pass