我想知道为什么我的代码不起作用。我预计它将返回11而不是它创建一个例外:def f():
counter = 1
def f1():
global counter
counter += 1
while True:
f1()
if counter>10:
return(counter)
f()
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
in ()
----> 1 f()
in f()
9 counter += 1
10
---> 11 f1()
12
13 if counter>10:
in f1()
7 global counter
8
----> 9 counter += 1
10
11 f1()
NameError: name 'counter' is not defined
因为counter被声明为全局变量,并且因为它在f1()--inside f()的周围环境中出现和定义 - 为什么我收到此错误消息?
您的建议将不胜感激。 |