使用字符串计数[重复]时出现UnboundLocalError错误>> [

问题描述 投票:0回答:1
运行以下代码时出现此错误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格式并在你们的帮助下自行学习。

提前感谢

我收到此错误UnboundLocalError:在运行下面的代码时在分配之前引用了本地变量'total'。首先,很抱歉问这个愚蠢的问题,我知道这很简单,但我不是...

python string count python-3.7
1个回答
0
投票
是,必须在count(string, letter)函数内部声明/定义“总计”变量。在Python中,函数无法像JavaScript中的函数那样访问外部/全局变量,除了像count(string, letter, total)这样将外部变量作为参数传递给该函数外,但以前我们需要使用这三个参数来定义函数。
© www.soinside.com 2019 - 2024. All rights reserved.