Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/10/2010, 18:24
REHome
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 16 años, 11 meses
Puntos: 8
Calcular billetes

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:
# Introducir datos a la variable.
E = int(raw_input('Ingresar Capital: '))

# Variables Billetes.
a = 500
b = 200
c = 100
d = 50
e = 20
f = 10
g = 5

# Variables Monedas.
h = 2
i = 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 a1
if (a1 / b) == 0:
    a2 = a1
    print a2
    
    etc.


print '%d billetes de 500 €uros.' % a1
print '%d billetes de 200 €uros.' % a2
print '%d billetes de 100 €uros.' % a3
print '%d billetes de 50 €uros.' % a4
print '%d billetes de 20 €uros.' % a5
print '%d billetes de 10 €uros.' % a6
print '%d billetes de 5 €uros.' % a7
print '%d monedas de 2 €uros.' % a8
print '%d monedas de 1 €uros.' % a9
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar