У меня есть проблема с домашним заданием, о которой я покажу ниже, которая просит меня упаковать функцию квадратного корня внутри главной функции. Если пользователь нажимает клавишу ввода, он выходит из цикла, иначе он просто продолжает работать. Здесь я сталкиваюсь с 2 проблемами, во-первых, когда я запускаю его, я всегда получаю 2 выхода, которые я знаю, почему это так, но я не могу обойти это. Во-вторых, я не знаю, как заставить пользователя нажать Enter и выйти из программы, не конвертируя все в строки.
import math
def newton():
x = float(input("Enter a positive number: "))
tolerance = 0.000001
estimate = 1.0
while True:
estimate = (estimate + x / estimate) / 2
difference = abs(x - estimate ** 2)
if difference <= tolerance:
break
print("The program's estimate is", estimate)
print("Python's estimate is ", math.sqrt(x))
def main():
x = str(input("Enter a positive number: "))
if x == '':
return
else:
x = float(x)
newton()
main()
Вот пример ошибки
Enter a positive number: 2
Enter a positive number: 2
The program's estimate is 1.4142135623746899
Python's estimate is 1.4142135623730951