[ Foro de Python ]
Hola disculpen apenas voy empezando a aprender y estoy realizando un código para ordenar datos, pero por el método de pares y nones, el cual se basa en comparar el primer dato de una lista con el segundo y ver cual es mayor, después el tercer dato con el cuarto y así hasta que termina, después hace lo mismo pero empezando con el segundo dato, es decir segundo y tercero, cuarto y quinto, etc. Y después repite los dos procesos hasta que quedan ordenados.
Tengo este código que lo hace bien con la primer pasada, pero al querer ponerlo en un bucle vuelve a hacerlo con los valores originales, no se si me puedan ayudar, gracias.
n = 0
m = 0
a = []
x = int(input("¿Cuantos valores desea ordenar?: "))
for k in range (0,x):
a.append(int(input("Dame el {0}° valor: ".format(k+1))))
print(a)
r = x
def nones(a):
for n in range (0,x,2):
for m in range (1,x,2):
if(a[n]>a[m]):
a[n],a[m]=a[m],a[n]
print(a)
return[a]
def pares(a):
for n in range (1,x,2):
for m in range (2,x,2):
if(a[n]>a[m]):
a[n],a[m]=a[m],a[n]
print(a)
return[a]
while r>0:
nones(a)
pares(a)
r=r-1
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)