溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python如何判斷第一個(gè)數(shù)與第二個(gè)數(shù)

發(fā)布時(shí)間:2021-12-21 09:10:44 來源:億速云 閱讀:196 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要講解了“python如何判斷第一個(gè)數(shù)與第二個(gè)數(shù)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“python如何判斷第一個(gè)數(shù)與第二個(gè)數(shù)”吧!

cmp = lambda a, b: 0 if a == b else 1 if a > b else -1print(cmp(3,2))print(cmp(2,3))print(cmp(2,2))out:1-10

以上代碼直接讀可能比較難懂,我把它拆分一下:

def cmp2(a, b):if a == b:return 0else:if a > b:return 1else:return -1print(cmp2(3, 2))print(cmp2(2, 3))print(cmp2(2, 2))out:1-10

可以看到上述2個(gè)函數(shù)功能完全一致,第一種寫法簡(jiǎn)潔的多!
再來熟悉一下這種寫法:

0 if a == b else (1 if a > b else -1)

這種語句是三元表達(dá)式嵌套三元表達(dá)式的結(jié)構(gòu),從左向右計(jì)算。
三元表達(dá)式首先找if,找到if判斷a ==b (判斷元素):

  • 若該條件滿足則返回if左邊的0(結(jié)果元素1)作為整個(gè)表達(dá)式的運(yùn)算結(jié)果。

  • 若該判斷條件不滿足則返回判斷條件右邊的三元表達(dá)式(結(jié)果元素2)。
    右邊仍然是三元表達(dá)式,繼續(xù)計(jì)算該三元表達(dá)式,找到if判斷a>b(判斷元素):

  • 若該條件滿足則返回if左邊的1(結(jié)果元素1)作為整個(gè)表達(dá)式的運(yùn)算結(jié)果。

  • 若該判斷條件不滿足則返回判斷條件右邊的-1(結(jié)果元素2)作為整個(gè)表達(dá)式的運(yùn)算結(jié)果。

python的三元表達(dá)式非常靈活,從上述案例中可以學(xué)習(xí)到三元表達(dá)式的結(jié)果元素可以是三元表達(dá)式,也就是說三元表達(dá)式可以嵌套三元表達(dá)式使用。

補(bǔ)充一下:
三元表達(dá)式的判斷元素、結(jié)果元素1、結(jié)果元素2都可以是表達(dá)式。
案例如下:
假設(shè)要比較2個(gè)數(shù),不相等返回1,相等返回0。
cmp = lambda a,b:1 if a-b else 0
print(cmp(2,3))
print(cmp(2,2))
可以看到判斷條件不是比較運(yùn)算符!實(shí)際上是根據(jù)a-b判斷,值不等于0返回左邊(結(jié)果元素1),等于0返回右邊(結(jié)果元素2)。

三元表達(dá)式在三個(gè)元素都能用一個(gè)表達(dá)式完成的時(shí)候非常適用。

感謝各位的閱讀,以上就是“python如何判斷第一個(gè)數(shù)與第二個(gè)數(shù)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)python如何判斷第一個(gè)數(shù)與第二個(gè)數(shù)這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI