Cambio de monedas
Publicado por Ileana (2 intervenciones) el 05/04/2021 18:49:06
Necesito una ayuda con este ejercicio
Considere que una maquina debe dar vuelto < 10 y para ello dispone de una dada cantidad de monedas de 5, 2 y 1. Escriba un programa que solicite el ingreso de un vuelto a dar (asuma que ese valor va a ser un numero entero < 10) y a continuación solicite se ingresen la cantidad de monedas de 5, 2 y 1 que se tienen. Su programa deberá decidir si se puede dar vuelto y en ese caso especificar las monedas a usar (de haber mas de 1 solución su programa deberá reportar la que incluya menor cantidad de monedas) tal como se muestra en el ejemplo de ejecución. En caso contrario su programa deberá imprimir el mensaje "No se puede dar vuelto"
Lo que hice que no funciona:
Considere que una maquina debe dar vuelto < 10 y para ello dispone de una dada cantidad de monedas de 5, 2 y 1. Escriba un programa que solicite el ingreso de un vuelto a dar (asuma que ese valor va a ser un numero entero < 10) y a continuación solicite se ingresen la cantidad de monedas de 5, 2 y 1 que se tienen. Su programa deberá decidir si se puede dar vuelto y en ese caso especificar las monedas a usar (de haber mas de 1 solución su programa deberá reportar la que incluya menor cantidad de monedas) tal como se muestra en el ejemplo de ejecución. En caso contrario su programa deberá imprimir el mensaje "No se puede dar vuelto"
Lo que hice que no funciona:
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
monto = int(raw_input("Ingrese el monto a devolver:\n"))
m5 = int(raw_input("Ingrese el monedas de 5 disponibles:\n"))
m2 = int(raw_input("Ingrese el monedas de 2 disponibles:\n"))
m1 = int(raw_input("Ingrese el monedas de 1 disponibles:\n"))
#v5,v2,v1 almacenaran la cantidad de monedas a dar en vuelto de 5, 2 y 1 respectivamente
v5 = 0
v2 = 0
v1 = 0
if monto/5 <= m5:
v5 = monto/5
else:
v5 = m5
if monto%5/2 > m2:
v2 = m2
else:
v2 = monto%5/2
if monto - v5*5 - v2*2 <= m1:
v1 = monto - v5*5 - v2*2
else:
v1 = m1
if v5 * 5 + v2 * 2 + v1 * 1 == monto:
print "Debo dar %d monedas de 5, %d monedas de 2 y %d monedas de 1" %(v5,v2,v1)
else:
#Considere modificar el codigo a partir de aqui.
print "No pudo dar vuelto"
Valora esta pregunta


0