Python – Solicitar y ordenar 3 números

En este post de programación en Python vamos a resolver un ejercicio: se trata de solicitar 3 números al usuario, validarlos y luego imprimirlos de manera ordenada (de menor a mayor). También vamos a validar que los números no se repitan.

Para ello vamos a usar print e input, además del método de la burbuja.

Solicitar 3 números

Lo que tenemos que hacer es un ciclo while con un contador. El ciclo será infinito y se romperá cuando el usuario haya ingresado los 3 números. Recuerda que también se va a validar que los números no sean repetidos:

numeros = []
contador = 1
# Mientras no se hayan leído 3 números...
while len(numeros) < 3:
    # Hacemos un ciclo infinito que se romperá solo cuando estén los tres números ingresados correctamente:
    numero_como_cadena = input("Ingrese el número " + str(contador) + ": ")
    # Intentamos "parsear" el número
    try:
        numero = float(numero_como_cadena)
        # Si pasamos lo de arriba, hacemos otra comprobación: buscamos si el número existe
        if numero in numeros:
            print("El número ya existe")
        else:
            # Si todo es correcto, agregamos el número al arreglo
            numeros.append(numero)
            # Y aumentamos el contador
            contador = contador + 1
    except:
        print("Número no válido")

En este caso comprobamos si el valor existe en el arreglo, y en caso de que así sea, lo indicamos. Si todo es correcto, agregamos el número al arreglo o lista.

Ordenar números

Debido a que tenemos los números en un arreglo, podemos ordenarlos usando algo simple como el método de la burbuja. Queda así:

# Ahora ya tenemos los 3 números, vamos a ordenarlos con el método de la burbuja

for i in numeros:
    for j in range(len(numeros) - 1):
        if numeros[j] > numeros[j+1]:
            numeros[j], numeros[j+1] = numeros[j+1], numeros[j]
# Ya están ordenados. Los imprimimos
for numero in numeros:
    print(numero)

Al terminar de ordenar los números, el arreglo ya estará en el orden correcto. Por lo tanto simplemente procedemos a imprimir cada valor.

Poniendo todo junto

El código completo queda como se ve a continuación:

numeros = []
contador = 1
# Mientras no se hayan leído 3 números...
while len(numeros) < 3:
    # Hacemos un ciclo infinito que se romperá solo cuando estén los tres números ingresados correctamente:
    numero_como_cadena = input("Ingrese el número " + str(contador) + ": ")
    # Intentamos "parsear" el número
    try:
        numero = float(numero_como_cadena)
        # Si pasamos lo de arriba, hacemos otra comprobación: buscamos si el número existe
        if numero in numeros:
            print("El número ya existe")
        else:
            # Si todo es correcto, agregamos el número al arreglo
            numeros.append(numero)
            # Y aumentamos el contador
            contador = contador + 1
    except:
        print("Número no válido")

# Ahora ya tenemos los 3 números, vamos a ordenarlos con el método de la burbuja

for i in numeros:
    for j in range(len(numeros) - 1):
        if numeros[j] > numeros[j+1]:
            numeros[j], numeros[j+1] = numeros[j+1], numeros[j]
# Ya están ordenados. Los imprimimos
for numero in numeros:
    print(numero)

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *