#!/usr/env/python# −*− coding: UTF−8 −*−##esta es una funcion para ordenar una PILAdef ordena(): pila_aux1 = pila pila_aux2 = [] pila_aux3 = [] var_aux = pila_aux1[-1] del pila_aux1[-1] while True: for i in range(0,len(pila_aux1)): if pila_aux1[-1] <= var_aux : pila_aux2.append(pila_aux1[-1]) del pila_aux1[-1] else: pila_aux2.append(var_aux) var_aux = pila_aux1[-1] del pila_aux1[-1] print "despues del primer for" print "pila1" , pila_aux1 print "pila2" , pila_aux2 print "pila3" , pila_aux3 print "var_aux" , var_aux pila_aux3.append(var_aux) var_aux = pila_aux2[-1] del pila_aux2[-1] print "despues del REasignar" print "pila1" , pila_aux1 print "pila2" , pila_aux2 print "pila3" , pila_aux3 print "var_aux" , var_aux for i in range(0,len(pila_aux2)): if pila_aux2[-1] <= var_aux : pila_aux1.append(pila_aux2[-1]) del pila_aux2[-1] else: pila_aux1.append(var_aux) var_aux = pila_aux2[-1] del pila_aux2[-1] print "despues del segundo for" print "pila1" , pila_aux1 print "pila2" , pila_aux2 print "pila3" , pila_aux3 print "var_aux" , var_aux if len(pila_aux1)>0: pila_aux3.append(var_aux) var_aux = pila_aux1[-1] del pila_aux1[-1] print "despues del REasignar por 2da vez" print "pila1" , pila_aux1 print "pila2" , pila_aux2 print "pila3" , pila_aux3 print "var_aux" , var_aux if len(pila_aux2) == 0: if len(pila_aux1) == 0: break ## una vez fuera del while, hacer la asignacion final pila_aux3.append(var_aux) print "pila final:" , pila_aux3 return pila_aux3## este es el programa. pila = [3,8,4]pila = ordena()print "pila original despues de ordenada: " , pila