编程Newton的方法Python 3.6

时间:2017-02-10 02:07:48

标签: python python-3.x newtons-method python-3.6

对于我的作业,我们需要创建一个计算牛顿法的程序。我们还没有学到很多技术,这就是为什么我只能设计我的代码。

我特别需要帮助让实际的牛顿方法根据我用于迭代次数的输入进行循环,但是任何建议都会很愉快。

def main():
    print("This program computes square roots through the Newton method")
    x = eval(input("Enter a number to calculate the square root of: "))
    r = eval(input("How many iterations should I use?: "))

    for i in range(1, r+1):
        guess = x/2
        for n in (1, r+1):
            n = (guess + (x/guess))/2   # Newton's Method formula
        import math
    y = math.sqrt(x)  # actual square root value

    for i in range(1, r+1):
        print(i, n, n-y)  # attempt at extra credit

    print("My guess for the square root of", x, "is", n)
    print("The difference between my guess and the actual result is:", n-y)


main()

这是今晚到期的......我之前误解了这项任务,所以我想我已经弄明白了。请帮忙!

1 个答案:

答案 0 :(得分:0)

我不会给你完整的答案,因为这看起来像是一个家庭作业问题,但你的程序核心很简单:

for i in range(r):
    n = (n + x/n)/2

考虑n应该从哪个开始。想一想在生成答案时如何打印答案。