標籤:== 返回 問題 als 需要 結束 系統 字典 邏輯運算
#在if語句嵌套中,需要特別注意的else和if的配對問題。python編譯系統處理該問題的原則是:else 總是與同一文法層次中離他最近的尚未配對的if配對
#例如:
x=10y=85if x>20 or x<-10:if y<100 or y>x:print("Good")else:print("Bad")num=int(input("請輸入一個數字:"))if num%2==0:if num%3==0:print("你輸入的數字可以整除2和3")else:print("你輸入的數字可以整除2,但是不能整除3")else:if num%3==0:print("你輸入的數字可以整除3,但是不能整除2")else:print("你輸入的數字,不能整除2和3")
#4.3.2真值測試;
#python與cC++在處理真值和邏輯運算的方式上有所不同。在python中:
#任何非0數字和非Null 物件都未真。
#數字0、Null 物件(如空列表[],空字典{})、None都為假;
#比較和相當測試返回true(真)或false(假)。
#邏輯運算and和or,會返回參與運算的真或假的對象。
#回顧:邏輯運算:not x:x非真即假,非假即真;
#x and y:雙真才為真;x or y:x 雙假才為假;
#1.比較和相等測試,總是返回true或false。
print(2<5)
print(2>5)
print(2==5)
#2 not 運算,not運算返回true或false。例如:
print(not True,not False)
print(not 0,not 1,not 2)
print(not ‘abc‘,not [1,2],not{‘a‘:12}) #非Null 物件為真;
print(not ‘‘,not[],not{}) #空的對象為假
#3.and和or,python中的and和or運算子總是返回參與運算的對象,而不True和False。Python在計算and運算時,總是按從左至右的順序計算。
#在找到第一個計算為假的對象,返回該對象,即使右側還有需要計算的對象,計算都結束。這種計算方式稱為短路計算。
print(2 and 0)
print([] and 2)
print(2 and {})
print([]and{})
print(2 and 5) #如果參與運算的對象都為真,則返回最後一個為真的對象。
print(5 and 2)
#or運算同樣執行短路計算,在找到第一個為真的對象時,返回該對象,計算結束。
print(0 or 2)
print(2 or [])
print(False or 5)
print([]or{})
print({}or[])
print(False or 5)
#3.3 if...elif 三元運算式
x=5
y=100
if x>y:
a=x
else:
a=y
print(a)
#該if語句,將x、y中較大值賦值給a,該語句可簡化為如下的if...els三元運算式。
#a=x if x>y else y
#python還支援從列表中挑選對象,其基本格式如下:
a=[x,y][f]
#f為假時,將x賦值給a,否則將y賦值給a。假前,真後
a=5
b=10
c=[a,b][a>b]
print(c)
python分支結構(無switch結構)