Dispensar cambio en Python

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.



Grupo

Dominando el control de flujo en Python

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 Ejercicio 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 ejercicios Python

Más ejercicios de Programacion Python de Dominando el control de flujo en Python

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