El Fri, 18 Jun 2010 12:49:14 +0100 "Dr. Bobus" <[email protected]> dijo:
> Hola todos: > > Me he enganchado en algo que supongo será una trivialidad, pero enganchado > estoy. > > He puesto un esqueleto de mi programa en: > > http://snipt.org/Qkkh > > Obtengo error (NameError: name 'cmasa' is not defined) en la linea 13 de > forma sistemática. La verdad es que llevo todo el día con esto ... :( He ido intentando aislar el tema y al final he llegado a esto: Este código funciona: a = 1 def f1(): print a f1() Este código da error: a = 1 def f2(): print a a += 5 f2() File "prueba.py", line 9, in f2 print a UnboundLocalError: local variable 'a' referenced before assignment Este código funciona: a = 1 def f3(): global a print a a += 5 f3() Este código funciona: a = 1 def f4(): print a b = a b += 5 f4() Alguien me puede explicar porqué f2() da error y además porqué lo da con el print y no en la asignación? Muchas gracias Dr. Bobus -- "World domination. Fast." (By Linus Torvalds)
signature.asc
Description: PGP signature
_______________________________________________ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
