2012-09-03 89 views
11

c Return语句我可以这样做:使用三元运算符

int minn(int n, int m){ 
return (n<m)? n:m 
} 

但是在Python我不能够达到相同的:

​​3210

这给Syntax Error

我知道我可以这样做:

def minn(n,m): 
    return min(n,m) 

我的问题是,我不能在python中使用三元运算符。

+0

没有什么叫做两个return语句! '返回(n Curious

+0

@Curious我有一个奇怪的困惑,现在它很清楚。 –

+0

在python中,你可以写成和'return n'一样的东西,如果n Curious

回答

33

您的C代码不包含两个return语句。也不应该Python代码...您的三元表达式的翻译是n if n<m else m,所以只使用该表达,当你返回值:

def minn(n,m): 
    return n if n<m else m 
9
def minn(n,m): 
    return n if n<m else m 

expr1 if expr2 else expr3表达式是一个表达式,而不是一个声明。 return是一个声明(请参阅this问题)

由于表达式不能包含语句,您的代码将失败。