python

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

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.