Python简写if-else结合赋值运算符出现SyntaxError问题求助
问题解决:Python条件表达式语法错误
你的代码报错是因为Python条件表达式(三元运算符)的语法使用错误,else分支不能写赋值语句c=0,正确的语法是变量 = 真值 if 条件 else 假值。
错误原因
条件表达式的结构是[表达式1] if [条件] else [表达式2],这里的表达式1和表达式2必须是能返回值的表达式,而不是赋值语句。你写的else c=0不符合语法规则,所以触发SyntaxError。
正确写法
直接把要赋值的结果放在else分支:
a = 100 b = 20 c = 1 if a > b else 0 print(c)
如果习惯用普通if-else语句,也可以这样写:
a = 100 b = 20 if a > b: c = 1 else: c = 0 print(c)
两种写法都会根据a>b的结果,给c赋值1或0,运行后输出符合你的预期。
内容的提问来源于stack exchange,提问作者vilas sadarang
相关产品推荐
相关产品推荐

