
IndexError: pop from empty list
Publicado por José (3 intervenciones) el 01/11/2016 18:06:04
Saludos, por favor necesito que me ayuden a resolver este algoritmo. En la función "atender" me aparece un error, indicando que la lista está vacía. Sé que es porque he utilizado el pop() dos veces, porque hice dos "if", uno que indique si el número es par o impar y el otro que indique si es positivo o negativo. Lo que quiero que aparezca es, por ejemplo: "Es Par y Positivo" ó "Es Impar y negativo", dependiendo del número que ingrese, obviamente. 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
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
def leerS(texto):
varS=input(texto)
return varS
def leerI(texto):
varI=int(input(texto))
return varI
def cargarcola(cola):
n=leerS("Nombre:")
cola.append(n)
return cola
def cargarpila(pila):
x=leerI("Número:")
pila.append(x)
return pila
def imprimircola(cola):
print(cola)
def imprimirpila(pila):
for i in range(1,len(pila)+1):
print(pila[-i])
def atender(cola,pila):
#Indicando si es par ó impar
print("Atentiendo a:",cola.pop(0))
if(pila.pop()%2==0):
print("Es Par")
else:
print("Es Impar")
#Indicando si es positivo ó negativo
if(pila.pop()>0):
print("Es Positivor")
else:
print("Es Negativo")
def menu():
print("1.-Cargar Cola")
print("2.-Cargar Pila")
print("3.-Imprimir Cola")
print("4.-Imprimir Pila")
print("5.-Atender")
print("0.-Salir")
o=leerI("Elija una opción:")
return o
#Principal
C=[]
P=[]
opcion=10
while(opcion!=0):
opcion=menu()
if(opcion==1):
cargarcola(C)
if(opcion==2):
cargarpila(P)
if(opcion==3):
imprimircola(C)
if(opcion==4):
imprimirpila(P)
if(opcion==5):
atender(C,P)
if(opcion==0):
print("Adiós")
Valora esta pregunta


0