Python - Ayuda, por favor. Python 3.5.1: UnboundLocalError: local variable referenced before assignment

 
Vista:
sin imagen de perfil

Ayuda, por favor. Python 3.5.1: UnboundLocalError: local variable referenced before assignment

Publicado por José (3 intervenciones) el 30/10/2016 13:11:55
Un cordial saludo a todos, soy nuevo en esta página, estoy aquí para ver si me pueden ayudar a resolver este problema. Cuando ejecuto el siguiente programa me aparece este error: UnboundLocalError: local variable 'pB' referenced before assignment. Quiero que el programa te dé la opción de elegir cualquier producto y que vuelva a preguntar si deseas comprar otro producto y luego que sume todos los productos escogidos y que te imprima el total a pagar. Y por último que pregunte si deseas procesar otro cliente, en caso de que sea positiva la respuesta, que vuela a repetir el proceso anterior. Gracias de antemano

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
def leerI(texto):
	varI=int(input(texto))
	return varI
 
def leerS(texto):
	varS=input(texto)
	return varS
 
def atender():
	A=500
	B=1000
	C=1500
	D=2000
	keep="y"
	while(keep=="y"):
		o=leerI("1.Producto A; 2.Producto B; 3.Producto C; 4.Producto D:")
		if(o==1):
			cA=leerI("Cantidad de Productos A:")
			pA=cA*A
			print("Debe pagar",pA)
		if(o==2):
			cB=leerI("Cantidad de Productos B:")
			pB=cB*B
			print("Debe pagar",pB)
		if(o==3):
			cC=leerI("Cantidad de Productos C:")
			pC=cC*C
			print("Debe pagar",pC)
		if(o==4):
			cD=leerI("Cantidad de Productos D:")
			pD=cD*D
			print("Debe pagar",pD)
			keep=leerS("¿Desea realizar otra compar(y/n)?:")
		total=pA+pB+pC+pD
		print("Total a pagar:",total)
 
seguir="s"
while(seguir=="s"):
	n=leerS("Nombre:")
	atender()
	seguir=leerS("¿Desea procesar otro cliente(s/n)?:")
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

Ayuda, por favor. Python 3.5.1: UnboundLocalError: local variable referenced before assignment

Publicado por dario (57 intervenciones) el 30/10/2016 14:41:31
Te falto inicializar las variables pA = pB = pC = pD = 0, colocalas despues de keep="y"
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

Ayuda, por favor. Python 3.5.1: UnboundLocalError: local variable referenced before assignment

Publicado por José (3 intervenciones) el 30/10/2016 15:55:47
Muchas gracias amigo(a), ya pude solucionar el problema.
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