|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这是我写的代码,可以运行出正确结果,但下面会有报错是什么情况啊。。
def gcd(x,y):
while 1 :
remainder = x%y
x = y
y = remainder
if remainder == 0 :
print(x)
gcd(1997,615)
这是运行结果:
1
---------------------------------------------------------------------------
ZeroDivisionError Traceback (most recent call last)
<ipython-input-7-535b7d4b444a> in <module>
7 print(x)
8
----> 9 gcd(1997,615)
<ipython-input-7-535b7d4b444a> in gcd(x, y)
1 def gcd(x,y):
2 while 1 :
----> 3 remainder = x%y
4 x = y
5 y = remainder
ZeroDivisionError: integer division or modulo by zero
如果 y 为 0,做除法会报错。所以需要判断当 y 不为 0 时才执行循环:
- def gcd(x, y):
- while y != 0:
- remainder = x % y
- x = y
- y = remainder
- if remainder == 0:
- print(x)
- gcd(1997, 615)
复制代码
|
|