python運算符詳解
x or y ,如果x==0,那麽就是y,否則就是x,and的算法和or是相反的,可以反著推就對了
print(1 or 2) #答案1
print(2 or 3) #答案2
print(0 or 3) #答案3
print(0 or 4) #答案4
print(0 or 1 or 3 or 0 or 5) #答案1
print(1 and 3) #答案3
print(0 and 1) #答案0
print(0 and 5) #答案0
print(1 or 2 and 3) #答案1
print(2 or 3 and 5 or 4) #答案2
print(0 or 4 and 3 or 7 or 9 and 6) #答案3
#思路:先算and,再算or,結果是0 or 3 or 7 or 6,最終結果為3
and or not同時存在,先算括號,然後算not,再算and,最後算or
print(3 > 4 or 4 < 3 and 1==1)
#思路:先算and,4<3是False,1==1是True,再算3>4是False,等於說是False or False and True,這時候False and True的結果是False,所以是False or False的結果是False
print(1 < 2 and 3 < 4 or 1 > 2)
#思路:True and True or False,然後是True or False,所以最終結果是True
print(2 > 1 and 3 < 4 or 4 > 5 and 2 <1)
#思路:True and True or False and False ,其實看or 前面的True and True 就知道本題答案是True,因為or有一個結果為True,最終結果就是True
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
#對於下面兩道題真的有坑,我習慣先算and,然後算>,其實大錯特錯,如果真是先算and,那麽第一題照這個思路是成立的,第二題就說不過去了,來執行代碼讓解釋器告訴我們結果
print(2 > 5 and 3)
print(2 > 5 and 1)
#思路:False相當於0 ,True是非0,2 > 5是0,就是等於說是0 and 1,所以是0,就是False
C:\Users\cheng>python first.py
False
False
print(2 < 1 and 4 > 6 or 3 and 4 > 5 or 6)
#思路:第一步False and False or 3 and False or 6,第二步True or False or 6
第三步False or 6,最終結果為6
C:\Users\cheng>python first.py
6
python運算符詳解