34

c私は次のようなことをすることができます:

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

しかし、Pythonでは同じことを達成することはできません:

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

これは与えるSyntax Error

私は私が次のようなことをすることができることを知っています:

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

私の質問は、Pythonで三項演算子を使用できないということです。

4

2 に答える 2

66

returnCコードに2つのステートメントが含まれていません。Pythonコードもすべきではありません...三項式の変換はですn if n<m else mので、値を返すときにその式を使用してください。

def minn(n,m):
    return n if n<m else m
于 2012-09-03T18:27:26.170 に答える
14
def minn(n,m):
    return n if n<m else m

式はexpr1 if expr2 else expr3式であり、ステートメントではありません。returnステートメントです(この質問を参照してください)

式にステートメントを含めることはできないため、コードは失敗します。

于 2012-09-03T18:30:08.113 に答える