Мне нужна помощь с калькулятором квадратного корня.Инструкции следующие:
"Вам необходимо реализовать вавилонский метод для вычисления квадратных корней. На основе этих основных функций вы должны написать интерактивную программу, которая:
предлагает пользователювведите целое значение выше нуля. Проверяет, что значение действительно выше нуля. Если нет, программа отображает сообщение об ошибке и снова запрашивает ввод. Вычисляет квадратный корень из значения, используя вавилонский метод, описанный выше.квадратный корень для пользователя, отформатированный таким образом, чтобы отображать ровно 3 десятичных знака (не более 3 и не менее 3). "
Я не могу использовать функцию sqrt.Я подхожу очень близко, но не могу добраться до нужной петли.Вот что у меня пока
# Ask user if they would like to calculate a square root for a single number or range.
single = input("Enter 'single' or 'range' to solve for a single square root or a range of values, respectively: ")
# Set error message to let the user know 'range' calculation are not currently available.
if single == 'single' or 'Single':
# Ask user to enter a positive integer.
number = int(input("Enter a positive integer value: "))
# Set error message asking for valid number if user enters something other than a positive integer.
while number < 0:
print("Please enter a valid number.")
else:
# Choose epsilon
epsilon = .0001
# Choose estimate for the square root of x
estimate = 4
# Evaluate the estimate
while number - estimate > epsilon:
# Calculate the square root using the Babylonian Method.
estimate = (number + 1.0) / 2.0
second_estimate = (estimate + number / estimate) / 2.0
# Print the users selected value and its square root.
print("Value", " ", "Square Root")
print(" ", number, " ", format(second_estimate, '.3f'))
else:
# Tell user 'range' calculation are not currently available.
print("That function is not currently available.")