Programación Web y Scripting > Python
Calcular billetes
(1/1)
Meta:
Hay un programa que se me resiste.
un programa que calcule el desglose en billetes y monedas de una cantidad exacta de euros. Hay billetes de 500, 200, 100, 50, 20, 10 y 5 euros y monedas de 2 y 1 euros. Por ejemplo, si deseamos conocer el desglose de 434 euros, 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? 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 euros 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 euros; dividimos a continuación 34 entre 100 y vemos que no hay ningún billete de 100 euros 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 euros y aún nos faltan 14 euros por desglosar. . . )
He guardado todos los billetes y moneda en cada variable. He intentado y sigo con ello usando los if-else con sus operadores ==, !=, <=, and, or, etc, etc, etc.
Este tipo de ejercicio es mucho para mi. Aún así sigo para aprender aunque sea un tocho de código que haga y ustedes muy pequeño. Sigo experimentando pero necesito ideas.
--- Código: Python ---# Introducir datos a la variable.E = int(raw_input('Ingresar Capital: ')) # Variables Billetes.a = 500b = 200c = 100d = 50e = 20f = 10g = 5 # Variables Monedas.h = 2i = 1 #R = (a / 500 != 0) or (b / 200 != 0) or (c / 100 != 0) or (d / 50 != 0) or (e / 20 != 0) or (f / 10 != 0) or (g / 5 != 0) or (h / 2 != 0) or (i / 1 != 0) #print R if (E / a) == 0: a1 = E print a1if (a1 / b) == 0: a2 = a1 print a2 etc. print '%d billetes de 500 €uros.' % a1print '%d billetes de 200 €uros.' % a2print '%d billetes de 100 €uros.' % a3print '%d billetes de 50 €uros.' % a4print '%d billetes de 20 €uros.' % a5print '%d billetes de 10 €uros.' % a6print '%d billetes de 5 €uros.' % a7print '%d monedas de 2 €uros.' % a8print '%d monedas de 1 €uros.' % a9
JoseCr:
--- Código: Python ---monto = int(raw_input('Ingresar Capital: '))if isinstance(monto, int): if monto//500!= 0: print "hay", monto//500, "billetes de 500" if monto%500//200 != 0: print "hay", monto%500//200, "billetes de 200" if (monto%200)//100 != 0: print "hay", (monto%200)//100, "billetes de 100" if (monto%100)//50 != 0: print "hay", (monto%100)//50, "billetes de 50" if (monto%50)//20 != 0: print "hay", (monto%50)//20, "billetes de 50" if (monto%20)//10 != 0: print "hay", (monto%20)//10, "billetes de 10" if (monto%10)//5 != 0: print "hay", (monto%10)//5, "billetes de 5" if (monto%5)//2 != 0: print "hay", (monto%5)//2, "monedas de 2" else: print "hay", (monto%2)//1, "monedas de 1"else: print "ERROR NUMERO DEBE SER ENTERO
Meta:
Muchas gracias amigo.
Navegación
Ir a la versión completa