Python - 12-Funcion con retorno de datos, consulta

   
Vista:

12-Funcion con retorno de datos, consulta

Publicado por Buenaventura Durruti (2 intervenciones) el 22/06/2010 23:47:18
Hola, mi duda es la siguiente. Se propone el siguiente problema:


Desarrollar una función que reciba tres enteros y nos retorne la suma de los dos más grandes.

Mi solución fue:

def suma(x1,x2,x3):
if x1>x3 and x2>x3:
return x1+x2
elif x1>x2 and x3>x2:
return x1+x3
else:
return x2+x3

print suma(8,9,3)

Pero la propuesta por la página es la siguiente:

def sumarmayores(x1,x2,x3):
if x1>x2 and x1>x3:
if x2>x3:
return x1+x2
else:
return x1+x3
elif x2>x3:
if x3>x1:
return x2+x3
else:
return x2+x1
else:
if x2>x1:
return x3+x2
else:
return x3+x1

print sumarmayores(100,200,30)

la cual es mucho más larga, mi duda es si la que yo puse contiene algún error y, de no ser así, cuál es la forma más correcta de escribir la función.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:12-Funcion con retorno de datos, consulta

Publicado por Emilianox64 (3 intervenciones) el 05/07/2010 20:36:03
No, creo que la tuya esta bien.
Acá hay otra:

def sumarmayores(x1, x2, x3):

lista = [x1, x2, x3]
lista.sort # Ordeno los numeros recibidos de menor a mayor
return lista[1] + lista[2] # Sumo los dos ultimos y retorno el resultado

=)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:12-Funcion con retorno de datos, consulta

Publicado por Buenaventura Durruti (2 intervenciones) el 06/07/2010 12:13:16
Gracias por la respuesta, no conocía esto todavía: lista.sort.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar