Вавилонский метод решения квадрата Root числа - PullRequest
0 голосов
/ 27 января 2020

, поэтому я должен написать программу для вычисления квадрата root набора диапазонов, используя вавилонский метод. Однако я застрял, потому что написанная мною программа дает мне квадрат root одного числа. диапазон, который я ввел для своего теста, равен 1, 16. Но я получаю только квадрат root из 15.

Изображение - это то, что программа должна показать. Program output

question1 = input("Enter 'single' or 'range' to solve for a single square root or a range of values, respectively: ")
if question1 == "single":
    value1 = int(input("Please enter a positive integer above 0: "))
    if value1 <= 0:
        print("Please enter an positive integer above 0: ")
        value1 = int(input("Please enter a positive integer above 0: "))

    oValue = 1
    value2 = value1
    e = 0.0001
    while value2 - oValue > e:
        value2 = (value2 + oValue) / 2
        oValue = value1 / value2

    print(format(oValue, ".3f"))

else:
    start = int(input("Enter a positive integer value to start your range: "))
    end = int(input("Enter a positive integer value to end your range: "))
    for num in range(start, end):
        oValue = 1
        value2 = num
        e = 0.0001
        while value2 - oValue > e:
            value2 = (value2 + oValue) / 2
            oValue = num / value2

print(format(oValue, ".3f"))

1 Ответ

0 голосов
/ 27 января 2020

Вы были довольно близко. Эта последняя строка должна иметь отступ больше:

...
else:
    start = int(input("Enter a positive integer value to start your range: "))
    end = int(input("Enter a positive integer value to end your range: "))
    for num in range(start, end):
        oValue = 1
        value2 = num
        e = 0.0001
        while value2 - oValue > e:
            value2 = (value2 + oValue) / 2
            oValue = num / value2
        print(format(oValue, ".3f"))

print () является частью for-l oop, только если она имеет отступ внутри l oop.

Когда он был полностью выровнен по левому краю, он находился вне for-l oop, поэтому он запускался только один раз в конце скрипта.

Надеюсь, это поможет: -)

...