Python:三元运算符语法错误

Python:三元运算符语法错误,python,python-2.7,Python,Python 2.7,我试图在我的程序中使用三元条件,如下所示: c = 12 (print c) if (c == 10) else (print 'c is not 10') 但是,这会引发语法错误。这里似乎出了什么问题?您可以这样做: print c if c == 10 else 'c is not 10' 括号是不必要的,您必须从打印开始;Python不能像Perl那样使整个命令成为有条件的 没有与Perl相当的Python: print "Done!" if $done; 你可以这样做: print

我试图在我的程序中使用三元条件,如下所示:

c = 12
(print c) if (c == 10) else (print 'c is not 10')

但是,这会引发语法错误。这里似乎出了什么问题?

您可以这样做:

print c if c == 10 else 'c is not 10'
括号是不必要的,您必须从打印开始;Python不能像Perl那样使整个命令成为有条件的

没有与Perl相当的Python:

print "Done!" if $done;

你可以这样做:

print c if c == 10 else 'c is not 10'
括号是不必要的,您必须从打印开始;Python不能像Perl那样使整个命令成为有条件的

没有与Perl相当的Python:

print "Done!" if $done;

你应该用printc而不是printc

你应该用printc而不是printc

报价单应该一直在那里。在原始帖子中编辑了我的代码。引用应该一直存在。在原始帖子中编辑了我的代码。三元表达式中只能有表达式,不能有语句。顺便说一句,在Python3中有以下工作:c=12;打印c如果c==10,则打印“c不是10”在三元表达式中只能有表达式,不能有语句。顺便说一句,在Python 3中,以下工作:c=12;如果c==10,则打印c;如果c==10,则打印c;如果c==10,则打印c;如果c==10,则打印c;如果c==10,则打印“非c”,则仍然给出语法错误。这与他回答中提到的括号无关。如果c==10,c=12 printc,否则print'not c'仍然会给出语法错误。这与威尔在回答中提到的括号无关。