• Domingo 21 de Julio de 2024, 09:14

Autor Tema:  Duda simple de asignación [soy Noob]  (Leído 1193 veces)

Gaudy

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Duda simple de asignación [soy Noob]
« en: Miércoles 1 de Junio de 2011, 18:26 »
0
Buenas, hace unos días acabo de empezar a estudiar pitón, pero no me quedó claro el tema de asignación, les explico:

En las ultimas líneas llamo a la función quicksort ingresando una lista_aleatoria de parámetro, pero cuando termina de ejecutarse el método de ordenamiento, me encuentro que la lista_aleatoria fue ordenada sin q se lo especificara, como le hago para evitar esto? Puesto q necesito de esta misma lista para usarlo en otros métodos de ordenamiento.

Código: Python
  1. import random
  2.  
  3. lista_aleatoria = [ ]
  4. longitud = 100
  5.  
  6. def quicksort(datos, primero, ultimo):
  7.     i = primero
  8.     j = ultimo
  9.     pivote = (datos[primero] + datos[ultimo]) / 2
  10.     while i < j:
  11.         while datos[i] < pivote: i+=1
  12.         while datos[j] > pivote: j-=1
  13.         if i <= j:
  14.             aux = datos[i]
  15.             datos[i] = datos[j]
  16.             datos[j] = aux
  17.             i+=1
  18.             j-=1
  19.  
  20.     if primero < j: datos = quicksort(datos, primero, j)
  21.     if ultimo > i: datos = quicksort(datos, i, ultimo)
  22.     return datos
  23.  
  24.  
  25. for i in range(longitud-1):
  26.     j = longitud - i
  27.     lista_aleatoria.append(random.randint(1, 100))
  28.  
  29. quicksort(lista_aleatoria,0,len(lista_aleatoria)-1)
  30.  
  31. for i in range(longitud-1):
  32.     print(lista_aleatoria[i])
  33.  
  34.