Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: 15-19 en 27 Abril 2017, 15:01 pm



Título: Duda append python
Publicado por: 15-19 en 27 Abril 2017, 15:01 pm
Hola pues mi duda es que al crear una variable de tipo array, cuando quiero añadir un numero a la variable usando el v.append, empieza a imprimir sin control el numero que pongo en el append. He buscado por internet pero no he visto nada. Inserto el codigo:

Código
  1.    for i in v:
  2.        v.append(5)
  3.        for i in range(len(v)):
  4.            print(v[i],end="")
  5.  
  6. main()]


Título: Re: Duda append python
Publicado por: engel lex en 27 Abril 2017, 15:20 pm
tu codigo es caotico...


por cada valor en v agrega un valor (solo por ahí eso es un ciclo infinito porque cada vez que avanza un valor agrega uno, ergo puede avanzar uno más y repite)

luego usas otro for dentro del primero y reusas i sobreescribiendolo, y ese i recorre un array con el largo de v...

eso hará un desastre... ni si quiera se que quieres lograr


Título: Re: Duda append python
Publicado por: 15-19 en 27 Abril 2017, 15:31 pm
Código
  1. # -*- coding: utf-8 -*-
  2. def main():
  3.    v=[1,2,3,4]
  4.    for i in v:
  5.        v.append(5)
  6.        for i in range(len(v)):
  7.            print(v[i],end="")
  8.  
  9. main()
  10.  
Aqui esta el codigo completo. Lo que quiero simplemente es probar que el array se puede modificar. Osea quiero que recorra el array+el añadido. No se si me explico

Edito: Ya lo he apañado

Código
  1. # -*- coding: utf-8 -*-
  2. def main():
  3.    v=[1,2,3,4]
  4.    v.append(5)
  5.    for i in range(len(v)):
  6.            print(v[i],end="")
  7.  
  8. main()

Gracias por tu respuesta. Osea el error estaba en que habia hecho un bucle for al principio que no tenia establecido un final?

Los códigos deben ir en etiquetas GeSHi


Título: Re: Duda append python
Publicado por: engel lex en 27 Abril 2017, 15:50 pm
Citar
Osea el error estaba en que habia hecho un bucle for al principio que no tenia establecido un final?

mas o menos...

hacia algo así...

Código:
recorrer en i a v, v siendo [1,2,3,4]
i es 1
agregamos a v un 5, ahora v es [1,2,3,4,5]
i es 2
agregamos a v un 5, ahora v es [1,2,3,4,5,5]
i es 3
agregamos a v un 5, ahora v es [1,2,3,4,5,5,5]
i es 4
agregamos a v un 5, ahora v es [1,2,3,4,5,5,5]
i es 5
agregamos a v un 5, ahora v es [1,2,3,4,5,5,5,5]
.... y así al infinito....


Título: Re: Duda append python
Publicado por: 15-19 en 27 Abril 2017, 16:42 pm
Bueno tras un ratillo ya lo he pillado  :D

Muchas Gracias de nuevo por ayudarme.

Un saludo