operator - ternary if python 3
Declaración de retorno utilizando operador ternario (2)
En c puedo hacer algo como:
int minn(int n, int m){
return (n<m)? n:m
}
Pero en python no puedo lograr lo mismo:
def minn(n,m):
return n if n<m else return m
esto da Syntax Error
Sé que puedo hacer algo como:
def minn(n,m):
return min(n,m)
Mi pregunta es que, ¿no puedo usar el operador ternario en python?
Su código C no contiene dos declaraciones de return . Su código de python tampoco debería ... La traducción de su expresión ternaria es n if n<m else m , así que use esa expresión cuando devuelva el valor:
def minn(n,m):
return n if n<m else m
def minn(n,m):
return n if n<m else m
La expresión expr1 if expr2 else expr3 es una expresión, no una declaración. return es una declaración (vea this pregunta)
Debido a que las expresiones no pueden contener declaraciones, su código falla.