什么是 'local variable referenced before assignment'
What is 'local variable referenced before assignment'
我正在尝试解决 checkio(house password) 的问题
..我的代码如下
def checkio(data):
if len(data)>9:
for i in data:
if str.isdigit(i)==True:
global counternumber
counternumber=counternumber+1
if str.isupper(i)==True:
global counterupper
counterupper=counterupper+1
if str.islower(i)==True:
global counterlower
counterlower=counterlower+1
if (counternumber>1 & counterupper>1 & counterlower>1):
return True
else:
return False
尝试实现此功能时弹出以下错误
NameError: 全局名称 'counterupper' 未定义
在声明为全局变量之前会弹出错误
UnboundLocalError: local variable 'counterupper' referenced before assignment,
这些错误是什么意思,如何解决?
请解释清楚,因为我是编程新手..
你可以简写:
def checkio(data):
return (len(data) > 9 and
any(ch.isdigit() for ch in data) and
any(ch.isupper() for ch in data) and
any(ch.islower() for ch in data))
我正在尝试解决 checkio(house password) 的问题 ..我的代码如下
def checkio(data):
if len(data)>9:
for i in data:
if str.isdigit(i)==True:
global counternumber
counternumber=counternumber+1
if str.isupper(i)==True:
global counterupper
counterupper=counterupper+1
if str.islower(i)==True:
global counterlower
counterlower=counterlower+1
if (counternumber>1 & counterupper>1 & counterlower>1):
return True
else:
return False
尝试实现此功能时弹出以下错误
NameError: 全局名称 'counterupper' 未定义
在声明为全局变量之前会弹出错误
UnboundLocalError: local variable 'counterupper' referenced before assignment,
这些错误是什么意思,如何解决?
请解释清楚,因为我是编程新手..
你可以简写:
def checkio(data):
return (len(data) > 9 and
any(ch.isdigit() for ch in data) and
any(ch.isupper() for ch in data) and
any(ch.islower() for ch in data))