Ir al contenido principal

Ejercicio 14:

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

 

Ayudanos a resolver más ejercicios!
https://www.paypal.com/paypalme/CwilVargas?locale.x=es_XC 

 

Comentarios

Entradas populares de este blog

Ejercicio 27:

Haz un programa que vaya leyendo números hasta que el usuario introduzca un número negativo. En ese momento, el programa mostrará por pantalla el número mayor de cuantos ha visto. #Solución n= int(input("Ingrese un numero:\n ")) mayor = n while True:     if n > 0:         print(n)         n= int(input("Ingrese un numero:\n "))         if n > mayor:             mayor = n     else:         print("Se terminò el mayor es: ", mayor);break   Ayudanos a resolver más ejercicios! https://www.paypal.com/paypalme/CwilVargas?locale.x=es_XC   

Ejercicio 29:

Realiza un programa que proporcione el desglose en billetes y monedas de una cantidad entera de euros. Recuerda que hay billetes de 500, 200, 100, 50, 20, 10 y 5 € y monedas de 2 y 1 €. Debes «recorrer» los valores de billete y moneda disponibles con uno o más bucles for-in. Soluciòn dinero = int(input("Dame el valor del dinero: ")) lista = [500, 200, 100, 50, 20, 10, 5, 2, 1] for i in lista:     queda = dinero // i     dinero = dinero % i     if  queda > 0:         print("Le queda "+ str(queda)+  (" billete" if i > 2 else " moneda") +("s " if queda >1 else " ")+ str(i))    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 Ayudanos a resolver más ejercicios! https://www.paypal.com/paypalme/CwilVargas?locale.x=es_XC