在过去的一个小时里,我一直在试图破译这个问题,但在这里遇到了一些麻烦。这就是问题
到目前为止,这是我的程序
def main():
n = eval(input("Enter a positive number: "))
while (n <= 0):
print ("Error please re-input")
n = eval(input("Enter a positive number: "))
oldGuess = n / 2.0
newGuess = ((n / oldGuess) + oldGuess) / 2.0;
difference = n - n ** 0.5
while (difference < 1 * 10 ** -6):
print ("Error")
difference = abs(n - n ** 0.5)
print ("Difference:", difference)
main()
所以我真的不明白我们如何告诉程序进行猜测,然后计算变量 n 的平方根。我什至不认为我的 while 语句在这种情况下是正确的。我不使用已经嵌入到 python 中的 squareroot 函数,所以它必须手动完成我相信我仍然迷失了猜测函数的含义。 最佳答案
while True:
n = float(input("Enter a positive number: "))
if n > 0:
break
print ("Error please re-input")
oldGuess = n / 2.0
while True:
newGuess = ((n / oldGuess) + oldGuess) / 2.0;
oldGuess = newGuess
if -1e-6 < n - newGuess * newGuess < 1e-6:
break
print ("Difference:", abs(n ** .5 - newGuess))
关于python - 计算平方根的逻辑思维,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17689229/