Подтвердить что ты не робот

Оператор возврата с использованием тернарного оператора

В 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.

4b9b3361

Ответ 1

Ваш код C не содержит двух операторов return. Также ваш код python... Перевод вашего тернарного выражения n if n<m else m, поэтому просто используйте это выражение, когда вы вернете значение:

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

Ответ 2

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

Выражение expr1 if expr2 else expr3 является выражением, а не выражением. return - это утверждение (см. этот вопрос)

Поскольку выражения не могут содержать инструкции, ваш код не работает.