Python - Programa de farmacia con python

 
Vista:

Programa de farmacia con python

Publicado por Franco Masoni (1 intervención) el 20/09/2019 16:41:18
Se solicita un programa para una farmacia de tal manera que pueda usarse durante todo el dia y hasta la hora en que decida cerrar la jornada.
El mismo debera ingresar el nombre del medicamento, cantidad y precio unitario de cada articulo que lleva el cliente para poder brindar un total.
Finalizada la carga de datos se solicitara si tiene obra social, en tal caso se le descontara un 40% del precio total. Si el cliente no tiene obra social, la farmacia otorga el beneficio de un 10% de descuento.
Al final de la jornada se desea saber cuantos clientes se atendieron y el total de lo recaudado.

Buen dia gente.. estudio analista en sistemas.. tengo que crear ese programa con python y el problema es que me queda medio largo y se que dificil no es..
Alguna ayuda?

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
pr=0
totre=0
vent=0
canti=0
t=0
trec1=0
obrasoc=0
om=0
desc1=0
desc2=0
trec2=0
t1=0
v=int(input("Para ingresar nuevo cliente presione N, de lo contrario ESC"))
while vent==1:
	om=int(input("Presione A para cargar articulo, O para cliente con obra social, ENTER para finalizar esta venta"))
	while om==1:
		m=input("Ingrese medicamento")
		canti=float(input("Ingrese la cantidad deseada"))
		pr=float(input("Ingrese el precio unitario del articulo"))
		t=t+canti*pr
		trec1=trec1+t
		t1=t
		t=0
		print("Articulo",m)
		print("Preco unitario: $",pr)
		print("Cantidad:",canti)
		print("Total: $",t1)
		om=int(input("Presione A para cargar articulo, 0 para cliente con obra social, ENTER para finalizar esta venta"))
while om==0:
		obrasoc=(input("Si el cliente tiene obra social presione 0, de lo contrario presione cualquier tecla"))
		if obrasoc==1:
		desc1=t1-desc1
		print("El total a descontar por obra social es: -$",desc1)
		print("El total de esta venta es: $",trec1)
		totre=trec1+1
		trec2=trec2+t1
		canti=0
		pr=0
		totre=0
		om=5
		trec1=0
	else:
		desc2=trec1*10/100
		trec1=trec1-desc2
		print("El total a descontar por obra social es: $",trec1)
		t=t1+1
		trec2=trec2+t1
		canti=0
		pr=0
		totre=0
		om=5
		trec1=0
	else:
		v=int(inpu("Para ingresar nuevo cliente presione N, de lo contrario ESC"))
		desc1=trec1*40/100
		trec1=rec1-desc1
		print("El total a descontar por obra social es: $", desc1)
		print("El total de esta venta es: $",trec1)
		totre=totre+1
		trec2=trec2+rec1
		canti=0
		pr=0
		totre=0
		om=5
		trec1=0
else:
	v=int(input("Para ingresar nuevo cliente presione N, de lo contrario ESC"))
 
else:
	print("El total de clientes en la jornada es", totre)
	print("El total recaudado en la jornada es: $", trec2)
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
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Programa de farmacia con python

Publicado por tincopasan (1082 intervenciones) el 23/09/2019 01:00:41
1
]Buen dia gente..
hola

1
tengo que crear ese programa
No te haré la tarea, solo algunas pistas o consejos desde mi perspectiva.

1
el problema es que me queda medio largo
ahí no puedo ayudarte, pero no esperes que sean pocas líneas, la efectividad no se mide en cuantas líneas pueda tener, sino en las necesarias para que funcione correctamente.

1
estudio analista en sistemas..
no sé como será el temario de estudio, pero el desarrollo de tu programa es paupérrimo. Sobre todo si supongo que deberías tener un conocimiento mínimo del lenguaje.

1
se que dificil no es..
que paradójico, estás pidiendo ayuda por algo que sabés que no es díficil.

1
Alguna ayuda?

1)¿te has fijado que hay "else" por doquier y no corresponden con la cantidad de "if"?
2)¿por qué usas float en cantidad? ¿acaso algún artículo se carga en decimales?
3)¿en qué momento crees que ejecutas la sentencia para salir de los ciclos("while")
4)Siempre supón que el usuario cometerá errores, por lo tanto deberías anticiparte y usar "try" por ejemplo.
5)deberías usar clases y funciones, no solamente lo hace más legible para el profesor, sino más elegante y demuestra conocimiento.
6)Podrías usar listas para cargar los productos y las ventas, esto te permitiría también ver los productos vendidos y la venta por cliente, además sería más fácil trabajar sobre ella.
7)Para mí tu lógica en cuanto al desarrollo está mal, pero no significa que al final no cumpla su cometido con un poco se esmero.
8)como todo problema, es más fácil resolverlo por partes, haz un menu, una función para cargar datos, otra función para el descuento y las puedes ir probando de a una y después concaternarlas.
9) y muchas cosas más, pero como dije, de partes.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

Programa de farmacia con python

Publicado por javier (1 intervención) el 10/10/2019 05:57:20
Buenas noches, yo intente resumirlo un poco y lo termine asi, se que esta mal y les pediria si me pueden ayudar a completarlo?. Muchas gracias.
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
med=0
puni=0
cant=0
acc=0
x=0
subt=0
t=0
y=0
acs=0
act=0
os=0
inicio=0
inicio=int(input("ingrese 1 ingresar un nuevo cliente, 0 para cerrar"))
while inicio==1:
    y=int(input("ingrese 1 para cargar un med, 0 para finalizar"))
    while y==1:
        med=input("ingrese el medicamento")
        puni=float(input("ingrese el precio unitario"))
        cant=int(input("ingrese la cantidad"))
        subt=puni*cant
        print("el subtotal sin descuentos es",subt)
        y=int(input("ingrese 1 para cargar un med, 0 para finalizar"))
        os=int(input("ingrese 1 si tiene os, 0 si no tiene"))
    if os==1:
        x=subt-(subt*0.4)
    else:
        x=subt-(subt*0.1)
    act=act+x
    print("el total con descuentos es:",x)
    inicio=int(input("ingrese 1 ingresar un nuevo cliente, 0 para cerrar"))
print("el total recaudado es:",act)
print("clientes totales:",acc)
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
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Programa de farmacia con python

Publicado por tincopasan (1082 intervenciones) el 11/10/2019 06:49:14
probablemente esto te sirva de guía, está funcional pero muy incompleto y carece de verificación de errores por parte del usuario, pero bueno ese es otro tema.
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
clientes = []
ventas = []
 
def menu():
    while True:
        print(''' 1) Nuevo Cliente
 2) Terminar Jornada
 ''')
 
        opcion = int(input("¿Qué acción realiza?: "))
        if opcion == 1:
            venta()
        elif opcion == 2:
            print("el total recaudado es:  ",sum(ventas))
            print("clientes totales:",sum (clientes))
            break
 
def venta():
    while True:
        med=input("Ingrese el medicamento: ")
        puni=float(input("Ingrese el precio unitario: "))
        cant=int(input("ingrese la cantidad: "))
        subt=puni*cant
 
        print("el subtotal sin descuentos es: ",subt)
        os=int(input("ingrese 1 si tiene O.S, 0 si no tiene: "))
        if os == 1 :
            x = subt-(subt*0.4)
            ventas.append(x)
        elif os == 0:
            x = subt-(subt*0.1)
            ventas.append(x)
        else :
            print("Opción no valida")
 
        print("el total con descuentos es:",x)
 
        inicio=int(input(''' 1) Carga otro medicamento
 2) Cierra la operación 
 Opción:  '''))
 
        if inicio == 2:
            clientes.append(1)
            break
 
if __name__=="__main__":
    menu()

uso funciones simplemente para que sea más facil de leer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar