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)

Attachment: 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/

Responder a