Preciso de ajuda com uma calculadora de raiz quadrada. As etapas são as seguintes:
“Você deve usar o método babilônico para calcular raízes quadradas.” Você deve criar um software interativo baseado nessa característica fundamental que
aqui está o código:
# 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 = .0002
# Choose estimate for the square root of x
estimate = 2
# 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.")
Solicita que o usuário insira um valor inteiro maior que zero. Verifica se o valor é realmente maior que zero. Caso contrário, o programa mostra uma mensagem de erro e solicita uma entrada novamente, conforme demonstrado no exemplo anterior. O método babilônico é usado para calcular a raiz quadrada do valor. A raiz quadrada é exibida ao usuário formatada para mostrar exatamente três casas decimais (não mais que três e não menos que três)."
Não consigo usar a função sqrt. Estou chegando perto, mas não consigo encontrar o loop correto.