|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
def gcd (x,y):
while x%y == 0 :
a = y
y = x% y
x = a
return (a)
报错Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
gcd (2,4)
File "C:\Users\000\AppData\Local\Programs\Python\Python38\爱因斯坦计算题处理方法.py", line 6, in gcd
return (a)
UnboundLocalError: local variable 'a' referenced before assignment
原因是什么啊,求解答
本帖最后由 jackz007 于 2020-3-1 11:40 编辑
- while x%y == 0 :
- a = y
- y = x% y
- x = a
复制代码
局部变量 a 的作用域仅限于 while 循环内部,在循环以外失效。
由于语句
不在 while 循环以内,所以,会产生 “变量 a 没定义” 的错误
其实,可以不用临时变量
- def gcd (x , y):
- while y :
- x , y = y , x % y
- return x
复制代码
|
|