Dispensar cambio - Python Programming Exercise

Este programa en Python calcula el cambio para una compra, utilizando las monedas o billetes más grandes posibles. El programa solicita al usuario el precio del artículo y la cantidad pagada, luego determina el cambio a devolver. El cambio se calcula utilizando primero las denominaciones más grandes, comenzando con 100, seguido de 50, 20, 10, 5, 2 y 1. Esto asegura que se utilice el menor número de monedas o billetes posible. El programa itera a través de las denominaciones, restando el valor del cambio hasta que no se pueda dar más con una denominación particular. Este programa es una excelente manera de practicar el uso de bucles y sentencias condicionales en Python. También ayuda a los usuarios a entender cómo descomponer problemas en pasos más pequeños, ya que el cambio se calcula iterando a través de cada denominación una por una. Al final de este programa, el usuario sabrá cómo dar el cambio correcto utilizando el menor número de monedas o billetes, convirtiéndolo en una herramienta práctica para cálculos financieros cotidianos.

 Categoría

Dominando el control de flujo

 Ejercicio

Dispensar Cambio

 Objectivo

Desarrolla un programa en Python para dar el cambio de una compra, utilizando las monedas (o billetes) de mayor valor posible. Supongamos que tenemos una cantidad ilimitada de monedas (o billetes) de 100, 50, 20, 10, 5, 2 y 1, y no hay decimales. Por lo tanto, la ejecución podría ser algo como esto:

¿Precio? 44
¿Pagado? 100
Tu cambio es 56: 50 5 1
¿Precio? 1
¿Pagado? 100
Tu cambio es 99: 50 20 20 5 2 2

 Ejemplo de ejercicio de Python

 Copiar código Python
# Ask for the price and the amount paid
price = int(input("Price? "))
paid = int(input("Paid? "))

# Calculate the change
change = paid - price
denominations = [100, 50, 20, 10, 5, 2, 1]
change_list = []

# Loop through the denominations and calculate the necessary coins/bills
for denomination in denominations:
    while change >= denomination:
        change -= denomination
        change_list.append(denomination)

# Print the result
print(f"Your change is {paid - price}: {' '.join(map(str, change_list))}")

 Output

Case 1:
Price? 44
Paid? 100
Your change is 56: 50 5 1

Case 2:
Price? 1
Paid? 100
Your change is 99: 50 20 20 5 2 2

 Comparte este ejercicio de Python

 Más Ejercicios Programación Python de Dominando el control de flujo

¡Explora nuestro conjunto de ejercicios de programación Python! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de Python. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en Python.

  •  Manejo de errores

    Este programa en Python solicita al usuario que ingrese dos números y realiza la operación de división. Utiliza un bloque try..except para capturar posi...

  •  Números positivos y negativos

    En este ejercicio, desarrollarás un programa en Python que le pedirá al usuario que ingrese un número y luego determinará si el número es positivo...

  •  Multiplicar a menos que sea cero

    En este ejercicio, desarrollarás un programa en Python que le pedirá al usuario que ingrese un número. Si el número no es cero, el programa pedirá un se...

  •  División cuando no es cero

    En este ejercicio, desarrollarás un programa en Python que le pedirá al usuario dos números. El programa mostrará su división si el segundo número...

  •  División condicional (utilizando else)

    En este ejercicio, desarrollarás un programa en Python que le pedirá al usuario dos números. El programa mostrará su división si el segundo número...

  •  El más grande entre tres valores

    En este ejercicio, desarrollarás un programa en Python que pedirá al usuario que ingrese tres números y luego determinará y mostrará el más grande de el...