es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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)
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está en el valor de i. Cuando se agrega un elemento a la lista, se está incrementando i en 1, pero cuando se elimina un elemento de la lista, no se está decrementando i en 1. Para solucionar esto, se puede agregar la siguiente línea después del condicional if 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.

Comments are closed.