如何避免在代码中使用三元运算符时出现SyntaxError: can't assign to variable 'can'错误?
- 内容介绍
- 文章标签
- 相关推荐
本文共计307个文字,预计阅读时间需要2分钟。
运行代码:`+a=1 b=1 x=1 if a=b else x=0 print(x)`提示错误:`File test.py, line 3, x=a if a=b else x=0 ^ SyntaxError: can't assign to conditional expression`错误解释:表达式是表達式,即是加減乘除等各種運算符號連接起來的,例如 `a+b` 或 `c*d` 等。而這裡的 `x=a if a=b else x=0` 试图在条件表达式中赋值,这是不允许的。
运行代码:
a=1 b=1 x=1 if a==b else x=0 print(x)
提示错误:
File "test.py", line 3 x=a if a==b else x=0 ^ SyntaxError: can't assign to conditional expression
expression是表达式,就是加减乘除等各种运算符号连接起来的式子(statement是语句,如if语句,while,复制语句等);
三目运算中表达式只能作为左值
修改后:
a=1 b=1 x=1 if a==b else 0 print(x)
[on true] if [expression] else [on false] #PS:if else表达式需要完整,例: return com[2] if com[0] == float("-inf") else com[0]
以上就是易盾网络小编整理的相关内容,希望能够给大家带来帮助。
本文共计307个文字,预计阅读时间需要2分钟。
运行代码:`+a=1 b=1 x=1 if a=b else x=0 print(x)`提示错误:`File test.py, line 3, x=a if a=b else x=0 ^ SyntaxError: can't assign to conditional expression`错误解释:表达式是表達式,即是加減乘除等各種運算符號連接起來的,例如 `a+b` 或 `c*d` 等。而這裡的 `x=a if a=b else x=0` 试图在条件表达式中赋值,这是不允许的。
运行代码:
a=1 b=1 x=1 if a==b else x=0 print(x)
提示错误:
File "test.py", line 3 x=a if a==b else x=0 ^ SyntaxError: can't assign to conditional expression
expression是表达式,就是加减乘除等各种运算符号连接起来的式子(statement是语句,如if语句,while,复制语句等);
三目运算中表达式只能作为左值
修改后:
a=1 b=1 x=1 if a==b else 0 print(x)
[on true] if [expression] else [on false] #PS:if else表达式需要完整,例: return com[2] if com[0] == float("-inf") else com[0]
以上就是易盾网络小编整理的相关内容,希望能够给大家带来帮助。

