PYTHON Ordenamiento tipo burbuja mejorado [64]

Si los la lista de n煤meros ya est谩 ordenada ya no hay necesidad de seguir ordenando y hay que terminar el ciclo. Para lograr esto colocaremos una bandera en los ciclos para validar que est茅n o no ordenados.

Codigo: https://github.com/programadornovato/curso-python/commit/cb0419e157a2fb5e75a9bd65e41a4edb8d0ae0ee

def pedirDatos():
    lista=[]
    while True:
        n=int(input("Humano ingres el numero que quieras (0 para terminar):"))
        if n==0:
            return lista
        else:
            lista.append(n)
    return lista

def burbuja(lista):
    cont=0
    ordenado=False
    tamano=len(lista)
    for _ in range(0,tamano):
        if ordenado==True:
            break
        for j in range(0,tamano-1):
            ordenado=True
            cont=cont+1
            if lista[j]>lista[j+1]:
                ordenado=False
                aux=lista[j]
                lista[j]=lista[j+1]
                lista[j+1]=aux
    return lista,cont
def mostrarLista(lista,cont):
    tam=len(lista)
    print(f"Humano aqui esta tu piche lista ordenada en {cont} ciclos de forma acendente:")
    for i in range(0,tam):
        print(f"{lista[i]}")
    print(f"Humano aqui esta tu piche lista ordenada en {cont} ciclos de forma desendente:")
    for i in range(tam,0,-1):
        print(f"{lista[i-1]}")

lista=pedirDatos()
lista,cont=burbuja(lista)
mostrarLista(lista,cont)

馃帵[16.-Curso de PYTHON 2019 [Ejercicio 04.- Intercambio de valores de dos variables]馃悕馃憟馃憟馃憟: https://www.youtube.com/watch?v=M-dB3hh5P6M
馃帵[CURSO] PYTHON PARA PRINCIPIANTES馃悕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKRppvi86Dy8CPYZ8-XzN2qu

馃帵[CURSO] PYTHON PARA PRINCIPIANTES馃悕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKRppvi86Dy8CPYZ8-XzN2qu

馃敆 Gracias por apoyar este canal: https://www.patreon.com/programadornovato
馃敆 Facebook: https://facebook.com/ProgramadorNovatoOficial
馃敆 Twitter: https://twitter.com/programadornova
馃敆 Linkedin: https://www.linkedin.com/in/programadornovato/
馃敆 Instagram: https://www.instagram.com/programadornovato/
馃敆 Pagina oficial: https://www.programadornovato.com

Eugenio Chaparro

Entradas recientes

馃煝Editar c贸digo de un m贸dulo en Dolibarr [04]

馃煝Editar c贸digo de un m贸dulo en Dolibarr [04]

En este tutorial vamos editar el c贸digo de nuestro m贸dulo personas para poder personalizar algunas…

2 meses hace
馃煝Crear un sub_m贸dulo en Dolibarr [03]

馃煝Crear un sub_m贸dulo en Dolibarr [03]

En este tutorial vamos a crear un sub m贸dulo llamado seguridad que ser谩 muy parecido…

2 meses hace
馃煝Modificar un m贸dulo en Dolibarr [02]

馃煝Modificar un m贸dulo en Dolibarr [02]

En este tutorial aprenderemos a editar el objeto personas del modulo persona que creamos en…

2 meses hace
馃煝Constructor de m贸dulos en Dolibarr

馃煝Constructor de m贸dulos en Dolibarr

Como mencionamos anteriormente Dolibarr es un proyecto realizado sobre la base de una pol铆tica clara:…

2 meses hace
馃煝Tickets en Dolibarr [19]

馃煝Tickets en Dolibarr [19]

Los ticket en dolibarr nos ayudan a comunicar inconveniente en nuestros productos y servicios dentro…

2 meses hace
馃煝Agenda en Dolibarr [18]

馃煝Agenda en Dolibarr [18]

Las agendas en dolibarr nos ayudan a ver las actividades realizadas en proceso y por…

2 meses hace