Python 循环中的函数导致无限循环
我是一名编程初学者,我曾尝试过一些函数。我有两个变量(整数)和一个自建函数,该函数向变量中添加1。我想在while循环中运行函数,在这个循环中函数应该继续向变量添加1,直到其中一个变量达到一定的数字,但它以一次使用函数的循环结束。我犯了什么错Python 循环中的函数导致无限循环,python,Python,我是一名编程初学者,我曾尝试过一些函数。我有两个变量(整数)和一个自建函数,该函数向变量中添加1。我想在while循环中运行函数,在这个循环中函数应该继续向变量添加1,直到其中一个变量达到一定的数字,但它以一次使用函数的循环结束。我犯了什么错 aa = 2 bb = 5 def test(aa, bb): aa = aa + 1 bb = bb + 1 return aa, bb while aa < 6: test(aa, bb) print(aa,
aa = 2
bb = 5
def test(aa, bb):
aa = aa + 1
bb = bb + 1
return aa, bb
while aa < 6:
test(aa, bb)
print(aa, bb)
aa=2
bb=5
def测试(aa、bb):
aa=aa+1
bb=bb+1
返回aa,bb
aa<6时:
测试(aa、bb)
印刷品(aa、bb)
将test()
返回的变量分配给aa
和bb
:
aa = 2
bb = 5
def test(aa, bb) :
aa = aa + 1
bb = bb + 1
return aa, bb
while aa < 6 :
aa, bb = test (aa, bb) # <-- assign returned variables to aa, bb
print (aa, bb)
以防混淆源于对范围的误解:这是必要的,因为
test
中的aa
与顶部定义的aa
不同aa=aa+1
正在更改参数,但这不会更改传入的数据或全局aa
。问题是aa
和bb
作为值传递(非引用)和参数名屏蔽了全局范围定义的变量。
6 9