third operator one assignment python ternary-operator

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.