martes, 18 de agosto de 2026

En el centro de Mérida existe la Oficina de Correos Mexicanos la cual tiene un letrero que dice: "No se recibirán más de 5 cartas por persona" en Python

En el centro de Mérida existe la Oficina de Correos Mexicanos la cual tiene un letrero que dice:
"No se recibirán más de 5 cartas por persona".
O sea que la gente entrega sus cartas (hasta la cantidad permitida) y luego tiene que volver a hacer la cola sí tiene más cartas para entregar.
Modelar una cola de correo generalizada, donde al momento de atender al cliente se indique la cantidad (no necesariamente 5) de cartas que se enviaran por persona.

Código del ejercicio:

print('Oficina de correos Mexicanos'.center(50, '_'))
print('No se recibirán más de 5 cartas por persona.', end='\n')
def main():
    try:
        print(end='\n')
        correo = int(input('¿Cuántas cartas va a enviar?: '))
        if correo > 5:
            correo -= 5
            print('Por favor vuelva a hacer la fila')
            print('Cartas restantes {}'.format(correo))
            main()
        elif correo > 0 and correo <= 5:
            correo -= correo
            print('Cartas enviadas')
        else:
            print('No hay cartas para enviar')
    except ValueError:
        print('Por favor ingresar solo cantidad de cartas a enviar (número)')
main()

Definición de los códigos del ejercicio:

print() --> imprime un mensaje en la pantalla.
def --> una función es un grupo de declaraciones relacionadas que realizan una tarea específica.
end --> el parámetro end se usa para agregar una cadena a la salida de print() cuando se realiza la impresión de una declaración. Pero, ¿alguna vez se preguntó por qué después de cada declaración de impresión, el cursor se mueve a la siguiente línea? Esto se debe a que la declaración de impresión viene con un valor predeterminado de parámetro final que es '\n'.
center() --> alineará al centro la cadena, utilizando un carácter específico (el espacio es el valor predeterminado) como carácter de relleno.
\n --> es el carácter de salto de línea y se usa para indicar el fin de una línea de texto y el inicio de una línea nueva.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
elif --> use else if para especificar una nueva condición para probar, si la primera condición es falsa.
try --> permite probar un bloque de código en busca de errores.
except --> permite manejar el error.
ValueError --> se genera cuando hay un valor incorrecto en un tipo de datos especificado.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
-= --> el operador de asignación de resta ( -= ) resta el valor del operando derecho de una variable y asigna el resultado a la variable.
format() --> formatea los valores especificados y los inserta dentro del marcador de posición de la cadena.
and --> devuelve True si ambos operandos son verdaderos.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.

Explicación del Código:

Oficina de Correos Mexicanos

No se recibirán más de 5 cartas por persona.

🐍 Código Python

print('Oficina de correos Mexicanos'.center(50, '_'))

print('No se recibirán más de 5 cartas por persona.', end='\n')

def main():

    try:

        print(end='\n')

        correo = int(input('¿Cuántas cartas va a enviar?: '))

        if correo > 5:

            correo -= 5

            print('Por favor vuelva a hacer la fila')

            print('Cartas restantes {}'.format(correo))

            main()

        elif correo > 0 and correo <= 5:

            correo -= correo

            print('Cartas enviadas')

        else:

            print('No hay cartas para enviar')

    except ValueError:

        print('Por favor ingresar solo cantidad de cartas a enviar (número)')

main()

📚 ¿Cómo se hace el ejercicio?

Primero se muestra en pantalla el nombre de la Oficina de Correos Mexicanos y el aviso de que una persona no puede enviar más de 5 cartas.

Después, el programa pregunta al usuario cuántas cartas desea enviar.

Se utiliza una condición para comprobar si la cantidad de cartas es mayor que 5.

Si el usuario tiene más de 5 cartas, el programa resta las 5 cartas permitidas y muestra cuántas cartas quedan.

Luego indica: "Por favor vuelva a hacer la fila". De esta manera, las cartas restantes pueden procesarse en un nuevo turno.

Si el usuario tiene entre 1 y 5 cartas, significa que puede enviarlas todas y se muestra "Cartas enviadas".

Si introduce 0 cartas o un número negativo, el programa indica que no hay cartas para enviar.

Finalmente, se utiliza try y except para evitar que el programa se detenga si el usuario escribe letras u otro dato que no sea un número.

💡 Ejemplo

Si una persona tiene 8 cartas:

8 - 5 = 3 cartas restantes

El programa permite enviar 5 cartas y solicita que la persona vuelva a hacer la fila con las 3 cartas restantes.

Si tiene 4 cartas, puede enviarlas todas porque no supera el límite de 5.

No hay comentarios.:

Publicar un comentario

Encontrar todas las posiciones de un carácter x de una cadena en Python

Código del ejercicio: s = input ( "Ingresar texto: " ) x = input ( "Ingresar carácter: " ) i = 0 while i...

Copyright © Ejercicios de programación. Todos los derechos reservados. ❤️