a=10
def setNumber():
a=100
setNumber
print(a)
# 前言
创作不易给个采纳哦!
# 代码分析及解决
这段代码有一个全局变量a被赋值为10,在函数setNumber中又定义了一个与全局变量同名的变量a,并将其赋值为100。但是,这个函数并没有被调用,所以实际上并没有改变全局变量a的值,最后会输出全局变量a当前的值10。
如果我们要在函数中修改全局变量的值,需要使用global关键字来声明该变量为全局变量,如下所示:
a = 10
def set_number():
global a
a = 100
set_number()
print(a)
这样就可以通过调用函数set_number()来修改全局变量a的值为100,输出结果为100。
a不是全局变量,你那个函数里的a是函数里的局部变量。可以把上边加个 global试试