Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Camilo2001 en 5 Marzo 2017, 21:18 pm



Título: Duda con Python
Publicado por: Camilo2001 en 5 Marzo 2017, 21:18 pm
Hola, soy recién llegado a esto de la programación. Me propuse como meta crear un T.E.G (el juego de mesa) que se juegue desde la consola. Quizá sea un poquito ambicioso para mis conocimientos sobre Python ahora mismo pero bueno, voy aprendiendo durante el proceso jeje. Cuestión, mi problema es el siguiente:

Tengo una lista donde están todos los países del juego, y quiero crear una variable que sea e_(nombre del pais) para cada país, y asignarle valor de uno. Intente esto pero me da error (reducí la lista de paises para que no se haga demasiado larga):

Código
  1. paises= ["Alaska","Yukon","Canada","Groenlandia","Oregon"]
  2. for pais_seleccionado in paises:
  3.    "e_"+pais_seleccionado=1

Me dice:"cant assign to operator" y me marca la casilla de atrás de "e_"

Si me pueden dar una mano se agradece, seguro es alguna barbaridad que haya escrito o alguna tonteria jaja :P


Título: Re: Duda con Python
Publicado por: Once en 5 Marzo 2017, 22:50 pm
Hola,

Primero Python no te permite crear variabls en tiempo de ejecución (que es lo que estás intentando hacer) por lo menos no de esta manera.

Segundo, aunque es posible hacerlo, no es muy recomendable, yo te aconsejaria usar un diccionario donde la key sea el "nombre de la variable" y el value, el valor que quieres que tenga esa variable.

El código te quedaría algo así:

Código
  1. paises = {"Alaska": 1,
  2.    "Yukon": 1,
  3.    "Oregon": 1}
  4.  
  5. # Acceder a un valor del diccionario
  6. print(paises["Alaska"])

Saludos!


Título: Re: Duda con Python
Publicado por: tincopasan en 6 Marzo 2017, 03:20 am
quizá no entendí bien pero lo haría así:
Código
  1. paises= ["Alaska","Yukon","Canada","Groenlandia","Oregon"] #la lista es larga y no es necesario modificarla
  2. pais={} #el diccionario lo creo con los paises elegidos y los guardo con valor 1 para acceder cuando quiera
  3. for pais_elejido in paises:
  4.    pais["e_"+pais_elejido]=1
  5.  
  6. print(pais) #el diccionario completo
  7. print("El valor de Alaska es : ",pais["e_Alaska"]) #el valor en este caso de :e_Alaska
  8.  


Título: Re: Duda con Python
Publicado por: Camilo2001 en 6 Marzo 2017, 18:17 pm
Gracias a los dos! Ya encontré una manera de hacerlo con diccionarios. Cuando lo termino paso el código por si a alguno le interesa (lo dudo pero me hace ilusion jaja)