2016-07-03 16 views
1

私は次のように私のプログラムで三条件を使用しようとしています:パイソン:三項演算子の構文エラー

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

はしかし、これは構文エラーを発生させます。ここで何が間違っているようですか?

+3

(print c)で行うものとします

PerlののないPythonの相当するものはありません。 – jonrsharpe

+0

ところで、Python 3では次のように動作します: 'c = 12; (print(c))if(c == 10)else(print( 'c is not 10')) ' – boardrider

答えて

4

あなたはこのようにそれを行うだろう:

print c if c == 10 else 'c is not 10' 

カッコは不要で、あなたは「print」で始まる必要があります。 PythonはPerlができるように、コマンド全体を条件付きにすることはできません。

print "Done!" if $done; 
+1

見積もりは常にそこにあるはずです。元の投稿に自分のコードを編集しました。 –

+0

よろしいですか?これはあなたの問題を解決しますか? – Will

0

あなたが表現*、*ない文は三元式で、* *あなたが唯一持っていることができprint(c)代わり

+0

'c = 12'' print(c)if(c == 10)else print( 'not c') 'はまだ' syntax error'を返します。彼の答えで言及されるようにかっこについてではない。 – Kylar