def pos_neg(a, b, negative):
if negative:
return (a < 0 and b < 0)
else:
return ((a < 0 == b > 0) or (a > 0 == b < 0))
所以基本上我嘗試了一些基本問題。我剛開始去https://codingbat.com/prob/p162058嘗試一下,不明白為什么如果我用 'and' 替換 '==' 會起作用嗎?謝謝。
哦,我現在明白了,謝謝大家。:D(這個 python 社區很火!!!)
uj5u.com熱心網友回復:
這個“==”表示等于,屬于Python比較運算子,用于比較兩個值。
和語言關鍵字“and”是用于組合條件陳述句的 Python 邏輯運算子。
你應該看看這個,它可能會解決你的其他疑問。
W3學校
uj5u.com熱心網友回復:
and是一個邏輯運算子,只有當我們使用它的兩個運算式都為真時才回傳真。
==用于比較,當兩個運算式相等時回傳 true;它們不必是真的。
給你一個例子False == False會回傳True但False and False會回傳False
uj5u.com熱心網友回復:
您所有的關系運算子用法(即a < 0,b < 0等)都會產生一個布林值,因此這些被稱為布爾運算式。
當你輸入 時a < 0,把它想象成一個測驗:“a小于 0,是真還是假?”。
因此,如果a和b都是負數(即小于零),它們的運算式將回傳真。
所以就行了return a < 0 and b < 0,替換成就and好比==說return true == true。沒有改變它會是return true and true。
注意:這并不意味著==與 相同and。 ==檢查左側與右側的相等性(例如1 == 1),并根據相等的結果給出真或假值。 and檢查左側是否生成true陳述句,是否right-hand生成true陳述句以生成true運算式。
uj5u.com熱心網友回復:
由于您正在學習,您可能有興趣看到這是一個等效功能。
- 基本上它有點明智 & 如果結果 < 0 則回傳 true
- 否則有點明智的異或,如果結果 < 0,則回傳 true
def pos_neg(a , b, negative):
if negative:
return (a & b) < 0 # both sign bits set (i.e. neg), return true
else:
return (a ^ b) < 0 # different signs, return true
在這兩種情況下,sign bit關注的都是結果。如果設定了該位,則該值將為負數(因此與 < 0 的比較)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/439645.html
標籤:python-3.x
上一篇:使用PIL置換二進制掩碼中的像素
