• Viernes 19 de Abril de 2024, 10:40

Autor Tema:  Calcular billetes  (Leído 14612 veces)

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Calcular billetes
« en: Lunes 4 de Octubre de 2010, 02:24 »
0
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
  1. # Introducir datos a la variable.
  2. E = int(raw_input('Ingresar Capital: '))
  3.  
  4. # Variables Billetes.
  5. a = 500
  6. b = 200
  7. c = 100
  8. d = 50
  9. e = 20
  10. f = 10
  11. g = 5
  12.  
  13. # Variables Monedas.
  14. h = 2
  15. i = 1
  16.  
  17. #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)
  18.  
  19. #print R
  20.  
  21. if (E / a) == 0:
  22.     a1 = E
  23.     print a1
  24. if (a1 / b) == 0:
  25.     a2 = a1
  26.     print a2
  27.    
  28.     etc.
  29.  
  30.  
  31. print '%d billetes de 500 €uros.' % a1
  32. print '%d billetes de 200 €uros.' % a2
  33. print '%d billetes de 100 €uros.' % a3
  34. print '%d billetes de 50 €uros.' % a4
  35. print '%d billetes de 20 €uros.' % a5
  36. print '%d billetes de 10 €uros.' % a6
  37. print '%d billetes de 5 €uros.' % a7
  38. print '%d monedas de 2 €uros.' % a8
  39. print '%d monedas de 1 €uros.' % a9
  40.    
  41.  
  42.  

JoseCr

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Calcular billetes
« Respuesta #1 en: Martes 12 de Octubre de 2010, 22:45 »
0
Código: Python
  1. monto = int(raw_input('Ingresar Capital: '))
  2. if isinstance(monto, int):
  3.      if monto//500!= 0:
  4.           print "hay", monto//500, "billetes de 500"
  5.      if monto%500//200 != 0:
  6.           print "hay", monto%500//200, "billetes de 200"
  7.      if (monto%200)//100 != 0:
  8.           print "hay", (monto%200)//100, "billetes de 100"
  9.      if (monto%100)//50 != 0:
  10.           print "hay", (monto%100)//50, "billetes de 50"
  11.      if (monto%50)//20 != 0:
  12.           print "hay", (monto%50)//20, "billetes de 50"
  13.      if (monto%20)//10 != 0:
  14.           print "hay", (monto%20)//10, "billetes de 10"
  15.      if (monto%10)//5 != 0:
  16.           print "hay", (monto%10)//5, "billetes de 5"
  17.      if (monto%5)//2 != 0:
  18.           print "hay", (monto%5)//2, "monedas de 2"
  19.      else:
  20.           print "hay", (monto%2)//1, "monedas de 1"
  21. else:
  22.      print "ERROR NUMERO DEBE SER ENTERO
  23.              
  24.  
  25.  
  26.  

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Re: Calcular billetes
« Respuesta #2 en: Martes 12 de Octubre de 2010, 23:29 »
0
Muchas gracias amigo.