我不明白为什么这些简单的代码不起作用
代码:
f=None
t=None
import random
def target():
if f==None:
f=random.randint(1,10)
else:
f=t
t=random.randint(1,10)
target()
错误:
UnboundLocalError: local variable 'f' referenced before assignment
答案 0 :(得分:1)
问题出在变量范围内,因此函数内部的t和f变量与函数之前声明的变量不同。要使用全局变量,请使用
def target():
global f
global t
....