
Error list assignment index out of range
Publicado por Gustavo (5 intervenciones) el 23/09/2021 09:00:58
Hola, estoy tratando de hacer un codigo en python para añadir valores a una pila, pero estoy teniendo el problema "list assignment index out of range", la maestra nos solicito que no usemos el .append, estoy tratando de usar el algoritmo que nos dió pero no he tenido exito, si me podrian ayudar lo agradeceria mucho.
Dejo una imagen del algoritmo para añadir a la pila.
El codigo es el siguiente:
import os
pila=[]
cima=-1
while True:
print("Menu")
print("Seleccione una opcion:")
print("1. Introducir datos:")
print("2. Eliminar datos:")
print("3. Mostrar pila:")
print("4. Terminar.")
opcion=input()
if opcion=="1":
if cima<5:
pila[cima+1] = int(input('Escriba el dato a introducir en la pila:'))
cima+=1
else:
print("Error OverFlow: La pila esta llena:")
elif opcion=="2":
if cima>0:
print("El dato se elimino correctamente:")
print(pila.pop())
cima-=1
else:
print("Error de UnderFlow: Pila esta vacia, por favor introduce un dato")
elif opcion=="3":
if cima!=-1:
print(pila)
else:
print("La pila esta vacia")
elif opcion=="4":
break
else:
print("Opcion invalida, intentelo de nuevo")
os.system("pause")
os.system("cls")

Dejo una imagen del algoritmo para añadir a la pila.
El codigo es el siguiente:
import os
pila=[]
cima=-1
while True:
print("Menu")
print("Seleccione una opcion:")
print("1. Introducir datos:")
print("2. Eliminar datos:")
print("3. Mostrar pila:")
print("4. Terminar.")
opcion=input()
if opcion=="1":
if cima<5:
pila[cima+1] = int(input('Escriba el dato a introducir en la pila:'))
cima+=1
else:
print("Error OverFlow: La pila esta llena:")
elif opcion=="2":
if cima>0:
print("El dato se elimino correctamente:")
print(pila.pop())
cima-=1
else:
print("Error de UnderFlow: Pila esta vacia, por favor introduce un dato")
elif opcion=="3":
if cima!=-1:
print(pila)
else:
print("La pila esta vacia")
elif opcion=="4":
break
else:
print("Opcion invalida, intentelo de nuevo")
os.system("pause")
os.system("cls")

Valora esta pregunta


0