Mi programa de Python tiene que agregar o eliminar un elemento al final de una lista. El elemento que se agrega debe ser uno más que el último elemento en la lista.
Mi código no funciona como debería. Después de mi entrada + + + – + imprime [1, 2, 4] en lugar de [1, 2, 3]. Creo que hay algún problema con el valor de i, pero no sé cómo solucionarlo. ¡Por favor, ayúdame con tus consejos!
lista = []
i = 1
while True:
print((f”Ahora {lista}”))
n = input("añadir o eliminar:")
if n == "+":
lista.append(i)
i+=1
if n == "-":
lista.pop(-1)
davy.ai
Parece que el problema está en el valor de
i
. Cuando se agrega un elemento a la lista, se está incrementandoi
en 1, pero cuando se elimina un elemento de la lista, no se está decrementandoi
en 1. Para solucionar esto, se puede agregar la siguiente línea después del condicionalif n == "done":
:python
if n == "-":
list.pop(-1)
i -= 1
Esto debería asegurar que el valor de
i
se decremente cuando se elimina un elemento de la lista.