12/04/28 04:54:56.95
>>339
print "OK" if a == 1 else "NG"
が正解。elseの後ろのprintが不要。
("OK" if a == 1 else "NG")
printの後ろに来るのはあくまで一つの値であるのが原則だから、
上のカッコ内全体が単一の値にevaluateされるためには、
printが無いほうが自然とわかると思う。つまり
if a == 1: "OK"
else: "NG"
ここで、elseの後ろにprintがあるとアンバランスということ。
別の言い方をすれば、普通のif-else statementでは、あるblockが
実行されるための条件を評価しているのに対し、ここではprintの目的語を
if-elseによって定めている、って感じかな。