Código de Python - Desglosar un importe en billetes y monedas

Imágen de perfil
Val: 1.348
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Desglosar un importe en billetes y monedasgráfica de visualizaciones


Python

estrellaestrellaestrellaestrellaestrella(2)
Actualizado el 31 de Octubre del 2019 por xve (Publicado el 6 de Julio del 2019)
2.106 visualizaciones desde el 6 de Julio del 2019
Este código muestra como desglosar un importe/cambio en billetes y monedas permitiendo utilizar decimales.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Cantidad a devolver: 1253.98
Hay 1 billetes de 500
Hay 2 billetes de 200
Hay 2 billetes de 100
Hay 2 billetes de 50
Hay 2 billetes de 20
Hay 1 billetes de 10
Hay 1 monedas de 2
Hay 1 monedas de 1
Hay 1 monedas de 0.5
Hay 2 monedas de 0.2
Hay 1 monedas de 0.05
Hay 1 monedas de 0.02
Hay 1 monedas de 0.01
Faltan 0.00 monedas por repartir

Versión 1.0

Actualizado el 31 de Octubre del 2019 (Publicado el 6 de Julio del 2019)gráfica de visualizaciones de la versión: Versión 1.0
887 visualizaciones desde el 6 de Julio del 2019

Versión 2 - Con limite de monedas
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 31 de Octubre del 2019gráfica de visualizaciones de la versión: Versión 2 - Con limite de monedas
1.220 visualizaciones desde el 31 de Octubre del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

En esta segunda versión se puede especificar la cantidad de monedas que se tiene de cada tipo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env python3
import math
 
# Definimos los tipos de monedas
monedas=[500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.20, 0.10, 0.05, 0.02, 0.01]
 
# Definimos la cantidad de monedas que disponemos de cada tipo
cantidad=[1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 200]
 
# Definimos una lista vacia que contendra las cantidades de cada moneda
cambio=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
 
importe=1253.98
 
print("Cantidad a devolver: {:.2f}".format(importe))
 
for i in range(len(monedas)):
    if importe>monedas[i]:
        cantidadMoneda=math.floor(importe/monedas[i])
        if cantidadMoneda<=cantidad[i]:
            cambio[i]=cantidadMoneda
        else:
            cambio[i]=cantidad[i]
        importe-=(cambio[i]*monedas[i])
 
for i in range(len(monedas)):
    if cambio[i]>0 and monedas[i]>=5:
        print("Hay {} billetes de {}".format(cambio[i], monedas[i]))
    elif cambio[i]>0:
        print("Hay {} monedas de {}".format(cambio[i], monedas[i]))
 
print("Faltan {:.2f} monedas por repartir".format(importe))



Comentarios sobre la versión: Versión 2 - Con limite de monedas (2)

31 de Octubre del 2019
estrellaestrellaestrellaestrellaestrella
hola! una pregunta, que significa el "{:.2f}" ?
Responder
Imágen de perfil
31 de Octubre del 2019
estrellaestrellaestrellaestrellaestrella
https://pyformat.info/#number
Responder

Comentar la versión: Versión 2 - Con limite de monedas

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5403