pythonでの条件式

1285 ワード

問題の説明
今日は次の条件式を書きました.
for i in range(-2,3):
    prespace = i if i > 0 else -i

その結果、次のエラーが直接報告されました.
SyntaxError: can't assign to conditional expression

問題解決
公式ドキュメントを参照:python公式ドキュメントの後、次の説明があります.
# first version -- no parens
level = 1 if logging else 0
# second version -- no parens
level = (1 if logging else 0)

そこで思い切って2つ目を試してみたらOKでした.
後記
ドキュメントによっては、両方とも可能であるはずです.ただし2種類目がおすすめです.この文の目的は、1ではなくlevelに値を割り当てるかどうかを決定することであるからである.