|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目:利用欧几里德算法求最大公约数
我的问题:明明返回是int,为什么打印的时候显示'None'呢?
我的代码如下:
=======================
>>> def cusGCD(x, y):
#比较x,y大小,确保x > y
m = x
if x < y:
m = y
y = x
x = m
r = x % y
#如果余数为0则返回除数,程序结束
if r == 0:
return y
#余数不为0,则将除数和余数带入继续计算
else:
cusGCD(y, r)
>>> print(cusGCD(10,26))
None
========================
在函数里每条语句都print了也都是希望的结果,以求(10,26)最大公约数为例,y也等于3了,可是就是打印不出来
先谢谢了
- >>> def cusGCD(x, y):
- m = x
- if x < y:
- m = y
- y = x
- x = m
- r = x % y
- if r == 0:
- return y
- else:
- return cusGCD(y, r)
复制代码
在最后返回那个函数就好。
|
|