Realiza un programa que calcule el desglose mínimo en billetes y monedas
de una cantidad exacta de euros. Hay billetes de 500, 200, 100, 50, 20,
10 y 5 € y monedas de 2 y 1 €.
Por ejemplo, si deseamos conocer el desglose de 434 €, el programa mostrará por pantalla el siguiente resultado:
- 2 billetes de 200 euros.
- 1 billete de 20 euros.
- 1 billete de 10 euros.
- 2 monedas de 2 euros.
(¿Que cómo se efectúa el desglose mínimo? Muy fácil. Empieza por
calcular la división entera entre la cantidad y 500 (el valor de la
mayor moneda): 434 entre 500 da 0, así que no hay billetes de 500 € en
el desglose; divide a continuación la cantidad 434 entre 200, cabe a 2 y
sobran 34, así que en el desglose hay 2 billetes de 200 €; dividimos a
continuación 34 entre 100 y vemos que no hay ningún billete de 100 € en
el desglose (cabe a 0); como el resto de la última división es 34,
pasamos a dividir 34 entre 20 y vemos que el desglose incluye un billete
de 20 € y aún nos faltan 14 € por desglosar. . . ).
#Solución:
#Entrada de datos
dinero = int(input("Ingrese cantidad de dinero: "))
#Proceso
b500 = dinero // 500; b500i = dinero % 500
b200 = b500i // 200; b200i = b500i % 200
b100 = b200i // 100; b100i = b200i % 100
b50 = b100i // 50; b50i = b100i % 50
b20 = b50i // 20; b20i = b50i % 20
b10 = b20i // 10; b10i = b20i % 10
b5 = b10i // 5; b5i = b10i % 5
b2 = b5i // 2; b2i = b5i % 2
b1 = b2i // 1; b1i = b2i % 1
#Salida
if b500 >= 1:
print(str(b500) + " billete" + ('s' if (b500) > 1 else '') + " de 500")
if b200 >= 1:
print(str(b200) + " billete" + ('s' if (b200) > 1 else '') + " de 200")
if b100 >= 1:
print(str(b100) + " billete" + ('s' if (b100) > 1 else '') + " de 100")
if b50 >= 1:
print(str(b50) + " billete" + ('s' if (b50) > 1 else '') + " de 50")
if b20 >= 1:
print(str(b20) + " billete" + ('s' if (b20) > 1 else '') + " de 20")
if b10 >= 1:
print(str(b10) + " billete" + ('s' if (b10) > 1 else '') + " de 10")
if b5 >= 1:
print(str(b5) + " billete" + ('s' if (b5) > 1 else '') + " de 5")
if b2 >= 1:
print(str(b2) + " moneda" + ('s' if (b2) > 1 else '') + " de 2")
if b1 >= 1:
print(str(b1) + " moneda" + ('s' if (b1) > 1 else '') + " de 1")
Aquí te dejo la resolución en un video.
https://www.youtube.com/watch?v=QKCjFWNaFFY
No te olvides de suscribirte y darle like al video
Comentarios
Publicar un comentario