Definir variables mediante iteración

Resuelto
Brocket -  
yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   -

Hola,

me gustaría saber si sería posible definir variables de manera iterativa.

Imaginemos que quiero crear las siguientes variables:

v1 = 1

v2 = 2

v3 = 3

...

v100 = 100

Como no tengo ganas de escribir 100 veces lo mismo, me gustaría crear un bucle similar a esto:

for i in range(1,101):

     v+str(i) = i

Por supuesto, eso no funciona, ¿alguien tendría una solución?

Gracias

3 respuestas

  1. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   Ambassadeur 1 588
     

    hola,

    Es posible hacer eso. Sin embargo, creo que es una muy mala idea, así que dudo en explicarte cómo hacerlo.

    ¿Por qué no utilizas una sola variable, que sería un array en el que podrías guardar múltiples valores?

    2
    1. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
       

      un ejemplo:

      v={} for i in range(1,11): v[i] = i*2 for w in range(1,11): print(w,v[w]) 
      0
  2. PierrotLeFou
     

    Otro problema, ¿sabría el programa cuántas variables se han creado?
    Si necesitas hacer pruebas con tus variables, ¿quieres generarlas todas automáticamente?
    Por ejemplo:
    if v60 == 310:
        # bla bla bla ...
    Seguiría siendo igual de largo hacer todas estas pruebas a mano.
    Con tablas, como mencionó yg_be, es mucho más sencillo.

    0
  3. PierrotLeFou
     

    El punto en el que quería insistir no es el hecho de que sea más o menos complicado generar variables en serie (eso se hace bien con exec()).
    Es más bien el código que las va a utilizar. Rápidamente terminamos escribiendo un programa que generará otro programa (generador de código).
    La mayoría de las veces, esto no es apropiado o justificable.
    Puede justificarse si queremos escribir código súper optimizado y bastante grande.

    0
    1. yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
       

      El método en el que estoy pensando es muy sencillo de usar, tanto para asignar valores como para leerlos o modificarlos.

      No obstante, creo que es preferible estructurar los datos teniendo en cuenta las buenas prácticas.

      0