使用字符串计数时出现 UnboundLocalError 错误
Getting UnboundLocalError error while using string counting
我得到这个错误 UnboundLocalError: local variable 'total' referenced before assignment
而 运行 下面的代码。
首先很抱歉问了这个愚蠢的问题,我知道这很简单,但我似乎不太明白,所以想问问你们。
total = 0
def count(string, letter):
for x in string:
if x == letter:
total +=1
print(y)
据我所知,total
已在函数之前分配,因此它应该是全局变量并且可以在脚本中的任何位置使用。
当我使用
def count(string, letter):
total = 0
for x in string:
if x == letter:
total +=1
print(y)
当我 运行 这个时,在函数内部使用 total
赋值,它工作正常。但是我想知道为什么我首先会得到上面的错误。
请解释一下。我正在通过 pdf 和你们的帮助自己学习它。
提前致谢
是的,"total" 变量必须是 declared/defined 在 count(string, letter)
函数中。在 Python 中,函数不能像 JavaScript 中的函数那样访问 outer/global 变量,除了像 count(string, letter, total)
那样将外部变量作为参数传递给该函数,但以前我们需要用这三个参数来定义函数。
我得到这个错误 UnboundLocalError: local variable 'total' referenced before assignment
而 运行 下面的代码。
首先很抱歉问了这个愚蠢的问题,我知道这很简单,但我似乎不太明白,所以想问问你们。
total = 0
def count(string, letter):
for x in string:
if x == letter:
total +=1
print(y)
据我所知,total
已在函数之前分配,因此它应该是全局变量并且可以在脚本中的任何位置使用。
当我使用
def count(string, letter):
total = 0
for x in string:
if x == letter:
total +=1
print(y)
当我 运行 这个时,在函数内部使用 total
赋值,它工作正常。但是我想知道为什么我首先会得到上面的错误。
请解释一下。我正在通过 pdf 和你们的帮助自己学习它。
提前致谢
是的,"total" 变量必须是 declared/defined 在 count(string, letter)
函数中。在 Python 中,函数不能像 JavaScript 中的函数那样访问 outer/global 变量,除了像 count(string, letter, total)
那样将外部变量作为参数传递给该函数,但以前我们需要用这三个参数来定义函数。