Python 中的異或運算:超越位邏輯
理解Python 中的邏輯異或運算可能很棘手,尤其是在比較非布林變數時像字串一樣。位元 ^ 運算子通常用於位元異或,但無法達到此目的。
解決方案:布林異或
如果目標是檢查是否恰好是兩個中的一個變數包含True 值,一個簡單的解決方案是!= 運算符。這檢查兩個變數的布林值是否不同。因此,對於字串:
bool(str1) != bool(str2)
如果一個變數不是None 或空字串,而另一個變數不是None 或空字符串,則傳回True,滿足XOR 條件。
範例
使用範例code:
str1 = input("Enter string one:")
str2 = input("Enter string two:")
if bool(str1) != bool(str2):
print("ok")
else:
print("bad")
此程式碼將正確判斷是否只有一個字串包含非空值,並在這種情況下列印“ok”。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3