Python - Cambio de monedas

 
Vista:

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:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Cambio de monedas

Publicado por algoritmo (245 intervenciones) el 05/04/2021 19:51:43
Hola

He hecho unas pruebas, y funciona.

¿Para qué valores no te funciona?
¿Si es que te salta un error, qué error?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar