возникли проблемы с циклом квадратного корня с использованием Python - PullRequest
0 голосов
/ 29 марта 2011

У меня есть пользовательский ввод 'n', и я нахожу квадратный корень.Я знаю, что это math.sqrt (n), но мне нужно, чтобы программа продолжала находить квадратный корень, пока он не станет меньше 2. Также верните пользователю, сколько раз программа запускалась, чтобы найти корень меньше 2, используясчетчик.Я использую Python.

Пока:

import math
root = 0
n = input('Enter a number greater than 2 for its root: ')

square_root = math.sqrt(n)
print 'The square root of', n, 'is', square_root

keep_going = 'y'

while keep_going == 'y':
    while math.sqrt(n) > 2:
        root = root + 1

Ответы [ 3 ]

1 голос
/ 29 марта 2011
import math
user_in = input()
num = int(user_in)

num = math.sqrt(num)
count = 1
while(num > 2):
  num = math.sqrt(num)
  count += 1

print count
0 голосов
/ 29 марта 2011

Очевидный путь:

def sqrtloop(n):
    x = 0
    while n >= 2:
        n **= 0.5
        x += 1
    return x

Не так много:

def sqrtloop2(n):
    if n < 2:
        return 0
    return math.floor(math.log(math.log(n, 2), 2)) + 1
0 голосов
/ 29 марта 2011

Предполагая 2.x

count = 0
user_input = int(raw_input("enter:"))
while true:    
    num = math.sqrt( user_input )
    if num < 2: break
    print num
    count+=1
print count    

Ошибка проверки ввода пользователя отсутствует.

...