Цикл квадратного корня в питоне - PullRequest
1 голос
/ 19 марта 2019

Мне нужно взять число больше 2 и взять квадратный корень, пока квадратный корень не станет меньше двух. Мне нужен оператор печати, который включает в себя количество раз, когда был взят квадратный корень из числа, а также вывод. То, что у меня пока есть:

import math

input_num = float(input("Enter a number greater than two: "))

while input_num < 2:
    input_num = float(input("Enter a number greater than two: "))
else:
    sqrt_num = math.sqrt(input_num)
    count = 1
    while sqrt_num > 2:
        sqrt_num = math.sqrt(sqrt_num)
        count += 1
        print(count, ": ", sqrt_num, sep = '')

С выходом:

Enter a number greater than two: 20
2: 2.114742526881128
3: 1.4542154334489537

Я хочу включить эту первую итерацию подсчета 1. Как написать правильный цикл, чтобы он выглядел как :

Enter a number greater than two: 20
1: 4.47213595499958
2: 2.114742526881128
3: 1.4542154334489537

1 Ответ

3 голосов
/ 19 марта 2019

Это своего рода хакерский способ сделать это, или, по крайней мере, не имеет особого смысла, поскольку он делает переменную sqrt_num не квадратным корнем, но я бы инициализировал count до 0 и инициализировал sqrt_num для input_num, например, так:

import math

input_num = float(input("Enter a number greater than two: "))

while input_num < 2:
    input_num = float(input("Enter a number greater than two: "))
else:
    sqrt_num = input_num
    count = 0
    while sqrt_num > 2:
        sqrt_num = math.sqrt(sqrt_num)
        count += 1
        print(count, ": ", sqrt_num, sep = '')
...