使用 python 我試圖在一行中執行 if 和 else,如下所示
expr = "no remainder" if 5% 2 == 0 else pass
print(expr)
輸出:
SyntaxError: invalid syntax
預期輸出:
It should pass condition without printing anything
請幫助我解決上述問題
uj5u.com熱心網友回復:
當您在同一行中使用if和 時else,您實際使用的是條件三元運算子。這是一種根據條件從兩個可能的值中選擇一個值的方法,而不是根據條件選擇是否運行一行。所以pass是無效的。也許你想,而不是什么None或""或"there is a remainder"。這是正確的代碼:
expr = "no remainder" if 5% 2 == 0 else "there is a remainder"
print(expr)
uj5u.com熱心網友回復:
你沒有pass正確使用。您應該在else塊中回傳一個值。pass 陳述句是一個空操作;執行時沒有任何反應,因此當條件不滿足時,您的變數將為空。你可能想要回傳類似的東西None。
uj5u.com熱心網友回復:
正如其他人所提到的,pass不應該像這樣使用。如果要print()有條件地執行陳述句,請執行以下操作:
expr = "no remainder" if 5 % 2 == 0 else None
if expr:
print(expr)
uj5u.com熱心網友回復:
s = 12 if 3 < 4 else 32
如果 3 小于 4,則分配 12,否則分配 32。
將一個簡單的 if-then-else 陳述句放在一行上
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/383873.html
