Skip to main content
 首页 » 编程设计

python之赋值前引用的局部变量 'x'

2025年05月04日10lhb25

def main(): 
        tests = get_initial_input(tests) 
        assignments = get_initial_input(assignments) 
        exercises = get_initial_input(exercises) 
        labs = get_initial_input(labs) 
        finals = get_initial_input(finals) 
        print(tests, assignments, labs) 
 
 
def get_initial_input(x): 
        val = int(input("How many", x , "were there?    ")) 
        return val 
 
main() 

我一直收到错误:

UnboundLocalError: local variable 'tests' referenced before assignment 

我已经尝试了很多不同的方法来尝试让测试转到 get_initial_input() 但它说它在赋值之前被引用。

当我尝试定义它的第一行代码时,这怎么可能?

请您参考如下方法:

当您使用时:

tests = get_initial_input(tests) 

首先发生的事情是 Python 试图评估这个:

get_initial_input(tests) 

但是 tests 还没有定义,所以你会得到一个 UnboundLocalError。