【发布时间】:2020-10-31 22:48:14
【问题描述】:
我有以下代码,但 Python 一直说“在赋值之前引用了局部变量 'a'”
def inter(X,Y):
if pertenece(cabeza(X),Y):
a = lista(cabeza(X),inter(cola(X),Y))
elif vacia(cola(X)): return a
else: inter(cola(X),Y)
我不知道为什么会出现这个错误,因为我在引用它之前已经定义了 'a'。请帮忙。
函数'pertenece'、'cabeza'、'cola'、'vacia'和' lista' 之前定义的都没有问题。
【问题讨论】:
-
return a只会在pertenece(cabeza(X),Y)为 False 时发生,但a只会在pertenece(cabeza(X),Y)为 True 时设置。当pertenece(cabeza(X),Y)为假时,您希望a是什么? -
进入if条件后不会进入elif条件。
-
@Carcigenicate ,有没有办法“带来'a'的价值?比如为“a”分配一个永久值?
-
@RandomUser 设置在
if之前。