Estoy intentando hacer un programa que al ingresar una cantidad de dinero te diga cuantos billetes de 500, 200...(en euros) y monedas (en céntimos) tienes. El problema está al llegar a los céntimos ya que son decimales y he intentado todo lo posible pero no se que problema de cálculo tengo en mi código
Código:
#!/usr/bin/env python3 from decimal import Decimal dinero = Decimal(input("Dime la cantidad de dinero: ")) def billetes(numero): billetes_500 = int(dinero/500) print("Tienes",billetes_500,"billetes de 500 euros") resto_billetes_500 = dinero % 500 print(resto_billetes_500) billetes_200 = int(resto_billetes_500/200) print("Tienes",billetes_200,"billetes de 200 euros") resto_billetes_200 = resto_billetes_500 % 200 print(resto_billetes_200) billetes_100 = int(resto_billetes_200/100) print("Tienes",billetes_100,"billetes de 100 euros") resto_billetes_100 = resto_billetes_200 % 100 print(resto_billetes_100) billetes_50 = int(resto_billetes_100/50) print("Tienes",billetes_50,"billetes de 50 euros") resto_billetes_50 = resto_billetes_100 % 50 print(resto_billetes_50) billetes_20 = int(resto_billetes_50/20) print("Tienes",billetes_20,"billetes de 20 euros") resto_billetes_20 = resto_billetes_50 % 20 print(resto_billetes_20) billetes_10 = int(resto_billetes_20/10) print("Tienes",billetes_10,"billetes de 10 euros") resto_billetes_10 = resto_billetes_20 % 10 print(resto_billetes_10) billetes_5 = int(resto_billetes_10/5) print("Tienes",billetes_5,"billetes de 5 euros") resto_billetes_5 = resto_billetes_10 % 5 print(resto_billetes_5) monedas_2 = int(resto_billetes_5/2) print("Tienes",monedas_2,"monedas de 2 euros") resto_monedas_2 = resto_billetes_5 % 2 print(resto_monedas_2) monedas_1 = int(resto_monedas_2/1) print("Tienes",monedas_1,"monedas de 1 euro") resto_monedas_1 = resto_monedas_2 % 1 print(resto_monedas_1) monedas_050 = int(resto_monedas_1/Decimal(0.50)) print("Tienes",monedas_050,"monedas de 50 céntimos") resto_monedas_050 = Decimal(resto_monedas_1) % Decimal(0.50) print(resto_monedas_050) monedas_020 = int(Decimal(resto_monedas_050)/Decimal(0.20)) print("Tienes",monedas_020,"monedas de 20 céntimos") resto_monedas_020 = Decimal(resto_monedas_050) % Decimal(2) print(Decimal(resto_monedas_020)) monedas_010 = int(resto_monedas_020/Decimal(0.10)) print("Tienes",monedas_010,"monedas de 10 céntimos") resto_monedas_010 = resto_monedas_020 % Decimal(1) print(resto_monedas_010) billetes(dinero)
Como podeis ver el resto a partir de los céntimos va mal.
Muchas gracias y un saludo, no hay urgencia en la respuesta.