[ Foro de Python ]

Concatenación de Pares y Nones

03-Jun-2020 16:21
Invitado (Jos? Alberto)
0 Respuestas

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.)