Hace unos dias empece aprender python, apenas voy en las primeras paginas de un par de libros, recien empiezo con las estructuras de control, en este caso con la sentencia IF. Bien el ejercicio en el que estoy es un scrip que pida un numero (dinero), el codigo tiene que hacer el desgloce de acuerdo al valor de algunos billetes y monedas, en este caso de billetes de 500, 200, 100, 50, 20, 10 y monedas de 5, 2, 1
Se que deben de haber varias formas para hacerlo, yo sin mucha experiencia en programacion se me ocurrio de esta manera:
Código
#Este programa simula es desgloce de caja #El usuario va a introducir una cantidad de dinero cualquiera, el desgloce se debe hacer #con billetes de 500 200 100 50 20 10 y modenas de 5 y 2 #b500, b200, b100.... son los billetes y sus denominaciones #m5, m2, m1... son las variables que representan monedas. print(" C A J A ") print(" ") dinero=int(input("Entre la cantidad total de dinero: ")) #Leer la cantidad total de dinero if dinero > 0 : b500=dinero//500 #Se divide el total de dinero entre el billete mas alto b200=(dinero%500)//200 b100=((dinero-(b500*500)-(b200*200))%200)//100 #apartir de aqui restare los billetes b50=((dinero-(b500*500)-(b200*200)-(b100*100))%100)//50 #que ya desgloce para que con el b20=((dinero-(b500*500)-(b200*200)-(b100*100)-(b50*50))%50)//20 #resto siga obteniendo b10=((dinero-(b500*500)-(b200*200)-(b100*100)-(b50*50)-(b20*20))%20)//10 #valores m5=((dinero-(b500*500)-(b200*200)-(b100*100)-(b50*50)-(b20*20)-(b10*10))%10)//5 m2=((dinero-(b500*500)-(b200*200)-(b100*100)-(b50*50)-(b20*20)-(b10*10)-(m5*5))%5)//2 m1=((dinero-b500-b200-b100-b50-b20-b10-m5-m2)%2)//1 #Todo lo que sobre seran las unidades if b500>=1: print("b500 ",b500) if b200>=1: print("b200 ",b200) if b100>=1: print("b100 ", b100) if b50>=1: print("b50 ", b50) if b20>=1: print("b20 ", b20) if b10>=1: print("b10 ", b10) if m5>=1: print("m5 ", m5) if m2>=1: print("m2 ", m2) if m1>=1: print("m1 ", m1) if dinero < 0: print("El numero tiene que ser positivo") if dinero == 0: print("El numero que escribio es CERO")
Me podrian compartir que tan bien o que tan mal esta mi codigo, o alguna otra forma de poder llegar al resultado.
Gracias.