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.