亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問python中and、or和not 三個邏輯運算符,一直理解不了

請問python中and、or和not 三個邏輯運算符,一直理解不了

HUWWW 2019-07-11 15:06:57
請問python中and、or和not 三個邏輯運算符,一直理解不了
查看完整描述

3 回答

?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

‘and’、‘or’和‘not’的優先級是not>and>or

首先,‘and’、‘or’和‘not’的優先級是not>and>or。

and :x and y 返回的結果是決定表達式結果的值。如果 x 為真,則 y 決定結果,返回 y ;如果 x 為假,x 決定了結果為假,返回 x。

or :x or y  跟 and 一樣都是返回決定表達式結果的值。

not : 返回表達式結果的“相反的值”。如果表達式結果為真,則返回false;如果表達式結果為假,則返回true。

其次,邏輯操作符and 和or 也稱作短路操作符(short-circuitlogic)或者惰性求值(lazy evaluation):它們的參數從左向右解析,一旦結果可以確定就停止。

例如,如果A 和C 為真而B 為假, A and B and C 不會解析C,作用于一個普通的非邏輯值時,短路操作符的返回值通常是最后一個變量。因此,邏輯運算符的理解也與C語言中不同。舉個例子:

在以上例子中,按照C語言對的思維,3 and 4即3與4為3,但是由于是短路操作符,結果為4,是因為and運算符必須所有的運算數都是true才會把所有的運算數都解析,并且返回最后一個變量,即為4;改變一下順序4 and 3 ,結果也不一樣,即為3.

而或邏輯(or),即只要有一個是true,即停止解析運算數,返回最近為true的變量,即 3 or 4,值為3;改變順序4 or 3 即為4.



查看完整回答
反對 回復 2019-07-12
?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

簡單解釋就是:
and -> A and B -> 表示A和B都必須同時滿足才可以
or -> A or B -> 表示A或B,兩者滿足一個,其中任意一個,就可以了
not A -> 對于A取反 -> A原來是真,則現在是假;A原來是假,則現在是真。

這些,其實和Python關系不大,和你對于基本的,編程語言中的邏輯,不理解有關系。
很多語言,都是這個邏輯的。也本身是符合人類的邏輯的。

感興趣的,自己去看:
【教程】Python開發入門詳解

(此處不給貼地址,請用google搜標題,即可找到地址的)




查看完整回答
反對 回復 2019-07-12
?
慕田峪9158850

TA貢獻1794條經驗 獲得超8個贊

滿足條件的解只有兩個:

a<0 and b>0 或者 a>0 and b<0

所以推算一下,只要滿足a*b<0這唯一條件便足夠了。

1

2

if (a*b)<0:

    return True


 


查看完整回答
反對 回復 2019-07-12
  • 3 回答
  • 0 關注
  • 1360 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號