2012-09-03 218 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問題)

由於表達式不能包含語句,您的代碼將失敗。