小编sac*_*kac的帖子

使用递归查找squre根的简单程序

嗨,我是Python的新手,我编写了一个简单的程序来查找给定数字的平方根.

n = int(input("ENTER YOUR NUMBER: "))
g = n/2
t = 0.0001

def findRoot(x):
    if ((x * x > n - t) and (x * x <= n + t)):
        return x
    else:
        x = (x + n / x) / 2
        findRoot(x)
r = findRoot(g)

print("ROOT OF {} IS {}".format(n, r))
Run Code Online (Sandbox Code Playgroud)

t 是最大错误.

我知道使用while循环很容易,但我无法弄清楚这段代码有什么问题.我调试了代码,在返回值x(第7行)后,第10行再次运行,产生"无"值.

控制台输出为任何n,n > 0(除了4)是ROOT OF (Given Number) IS None

知道如何纠正代码吗?

python recursion python-3.x

0
推荐指数
1
解决办法
374
查看次数

标签 统计

python ×1

python-3.x ×1

recursion ×1