邏輯運算符
not 非 ; and 與; or 或。
-
not 邏輯非結果只有 True 和 False
not可以對符號右側的值進行非運算
對於布爾值,非運算會對其進行取反操作,True變False,False變True
對於非布爾值,非運算會先將其轉換為布爾值,然后再取反。
字符串,有內容為True,空字符串為False.
數字,0 為 False ,其它 為 True . -
and 邏輯與
and可以對符號兩側的值進行與運算
只有在符號兩側的值都為True時,才會返回True,只要有一個False就返回False
與運算是找False的
Python中的與運算是短路的與,如果第一個值為False,則不再看第二個值2.1 符號兩側的值為 True 和 False(boolean布爾值) 結果只有 True 和 False
當兩側都為 True 時, 結果才為 True 。其它結果為 False 。
2.2 符號兩側的值為 數字 結果為 右側值 或 0
當兩側值全非0時,結果取符號右側值; 當兩側至少有一個值為0時, 結果 為 0 。2.3 符號兩側的值為 字符串, 結果為 右側值 或 (輸出)空行
當兩側值為非空字符串時, 結果取符號右側值; 當兩側至少有一個值為空字符串時,結果 為(輸出)空行 - or 邏輯或
or 可以對符號兩側的值進行或運算
或運算兩個值中只要有一個True,就會返回True
或運算是找True的
Python中的或運算是短路的或,如果第一個值為True,則不再看第二個值
3.1 符號兩側的值為 True 和 False(boolean布爾值) 結果只有 True 和 False
當兩側值都為False , 結果才為 False 。3.2 符號兩側的值為 數字 結果為 數字 或 0
當兩側非0, 結果取左側值;
當其中一值為 0 ,另一值為 非0, 結果取非0值;
當兩側為0, 結果為 0 。3.3 符號兩側的值為 字符串, 結果為 字符串 或 (輸出)空行
當兩側非空, 結果取左側值;
當其中一值為 空 ,另一值為 非空, 結果取非空值;
當兩側為空, 結果為 輸出空行 。3.4 符號兩側的值為數字與boolean ,結果為 數字,Boolean值。 非0 , 0 , True,False。
當兩側非0或非False, 結果取左側值;
當兩側一值非0或非False,另一值為0或False, 結果取非0或True。
當兩側為 0,False, 結果為 右側值
總結:非布爾值的與或運算
count = 1 while True: name = input('輸入賬號') pwd = input('輸入密碼') if count >3: print('超出三次') exit() else: if name == 'alex' and pwd == '3721': print('ok') exit() else: print('err',count) count+=1 continue