Python - Variables globales y if __name__ = "__main__"

 
Vista:

Variables globales y if __name__ = "__main__"

Publicado por Javier (2 intervenciones) el 13/09/2011 21:19:39
Hola,

Estoy intentando realizar un miniprograma en Python, en el cual necesito dos variables globales. El problema es que llevo un día con Python, y no se si estoy en lo cierto, pero el programa pasará por un test automatico.

Me han comentado que necesito para ello insertar la sentencia if __name__ = "__main__" , ejecutar una función main y así poder devolver un 0 para que el resultado del test sea correcto (además de los resultados internos). Que devuelva un 0 es para indicar que se ha ejecutado correctamente.

El problema es que tengo el programa funcionando correctamente sin dicha sentencia ( if __name__ = "__main__" ), pero si añado esa sentencia de la siguiente manera:

if __name__ == "__main__":
main()

y definiendo el programa principal dentro de

def main():

una de las variables globales dejó de funcionar...

Alguien sabe que puede pasar?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Variables globales y if __name__ =

Publicado por xve (1646 intervenciones) el 13/09/2011 23:31:47
Hola Javier, dentro de tu función main(), puedes poner la instrucción:
1
global variable

De esta manera, esa variable tendrá validez dentro de la función main() arrastrando su valor desde fuera de la función.
1
2
3
4
a=10
def main()
    global a
    print a


Espero que esto te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Variables globales y if __name__ =

Publicado por Javier (2 intervenciones) el 19/09/2011 12:15:10
Perdón por la tardanza.

Ha funcionado perfectamente!!

gracias por la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar