Muchas veces nos encontramos con situaciones en las que nos vendría muy bien poder devolver más de un valor en una función… generalmente podemos recurrir a arrays, colecciones, diccionarios, hastables, etc. Pero en Python podemos devolver múltiples valores en una misma función y lo mejor de todo es que esos valores de retorno pueden ser de diferente tipo.
Dejo un par de ejemplos, escribo la función y luego la ejecuto para probar.
def masUnoMasDos(x):
return x+1, x+2
print ""
print "masUnoMasDos()"
a,b = masUnoMasDos(7)
print "x+1 = "+str(a)
print "x+2 = "+str(b)
print "---------"
def rojo():
return 255, 0, 0
print ""
print "rojo()"
print rojo()
print "---------"
def rojoHexa():
return "ff", "00", "00"
print ""
print "rojoHexa()"
print rojoHexa()
Obtendremos la siguiente salida:
masUnoMasDos()
x+1 = 8
x+2 = 9
---------
rojo()
(255, 0, 0)
---------
rojoHexa()
('ff', '00', '00')
Para probar este código rápidamente, en caso de no tener Python instalado pueden utilizar http://codepad.org que es una excelente herramienta online, la misma permite compilar y ejecutar código en varios lenguajes, incluyendo: C/C++, D, Haskel, PHP, Pearl, Python y Ruby, entre otros.
}

Marcelo Ramos escribe en su blog:
Acabo de crear el grupo PyUy en Google Groups para que podamos comenzar a darle forma al grupo y por supuesto hablar de todo lo relativo a Python.
Así que invito a todos los interesados a anotarse en la siguiente dirección:
http://groups.google.com/group/pyuy
Nos vemos en PyUy!
Ya estoy adentro para apoyar la iniciativa, además de que Python es uno de los lenguajes que quiero aprender desde hace bastante tiempo. Vamos a ver que resulta… se verá en los posts de programación en Python que aparezcan en el blog.
Además Fernando ya registró el canal IRC #pyuy en irc.freenode.net
}
El método de la burbuja o método de intercambio directo es el algoritmo de ordenación más simple. El mismo compara los elementos a ordenar de a pares, cada uno con su siguiente y si están en el orden equivocado los intercambia y el proceso debe realizarse varias veces hasta que la lista esté totalmente ordenada, pero al ser un algoritmo tan simple, a pesar de ser efectivo, el mismo no es muy eficiente, su orden es n2
Por ejemplo en la lista [3,1,2,0] se harán los siguientes movimientos: (en negrita los elementos comparados)
| # de comparación |
Estado inicial |
Estado final |
| 1 |
3,1,2,0 |
1,3,2,0 |
| 2 |
1,3,2,0 |
1,2,3,0 |
| 3 |
1,2,3,0 |
1,2,0,3 |
| 4 |
1,2,0,3 |
1,2,0,3 |
| 5 |
1,2,0,3 |
1,0,2,3 |
| 6 |
1,0,2,3 |
1,0,2,3 |
| 7 |
1,0,2,3 |
0,1,2,3 |
Ahora vamos a ver la función en Python para implementar el método de la burbuja:
def ordenar(items):
i = 0 # Inicializar las variables
j = 0
for i in range(len(items)): # recorrer toda la lista
for j in range(len(items) -1): # recorrer toda la lista haciendo las comparaciones
if items[j] > items[j+1]: # comparar
aux = items[j]
items[j] = items[j+1]
items[j+1] = aux
}