Duda con Python

Iniciado por Camilo2001, 5 Marzo 2017, 21:18 PM

0 Miembros y 1 Visitante están viendo este tema.

Camilo2001

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 (python) [Seleccionar]
paises= ["Alaska","Yukon","Canada","Groenlandia","Oregon"]
for pais_seleccionado in paises:
    "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

Once

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 (python) [Seleccionar]

paises = {"Alaska": 1,
    "Yukon": 1,
    "Oregon": 1}

# Acceder a un valor del diccionario
print(paises["Alaska"])


Saludos!

tincopasan

quizá no entendí bien pero lo haría así:
Código (python) [Seleccionar]

paises= ["Alaska","Yukon","Canada","Groenlandia","Oregon"] #la lista es larga y no es necesario modificarla
pais={} #el diccionario lo creo con los paises elegidos y los guardo con valor 1 para acceder cuando quiera
for pais_elejido in paises:
    pais["e_"+pais_elejido]=1

print(pais) #el diccionario completo
print("El valor de Alaska es : ",pais["e_Alaska"]) #el valor en este caso de :e_Alaska

Camilo2001

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)