Hola, bueno soy nuevo en la programación, llevo como 2 meses programando y bueno voy al tema:
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.