Попытка найти квадратный корень целого числа с помощью линейного поиска в Python без использования оператора экспоненты ⇐ Python
-
Гость
Попытка найти квадратный корень целого числа с помощью линейного поиска в Python без использования оператора экспоненты
Я написал код, позволяющий найти квадратный корень из целого числа без использования оператора экспоненты и округления в меньшую сторону, если квадратный корень находится между целыми числами.
Я не могу понять, почему мой код не работает, когда входное целое число равно 1.
Я использовал оператор деления пола, и проблема, с которой я столкнулся, заключается в том, что код ломается, когда мой итератор (i) равен 1. Однако когда я вычисляю его по частям, 1*1 >= 1 оценивается как True. 1 // 1 равно 1. Поэтому я не понимаю, почему код ломается и возвращается None.
def mySqrt(x): если х == 0: вернуть х для я в диапазоне (x): если я*я >= х: вернуть х // я print(mySqrt(4)) # Вывод 2 print(mySqrt(1)) # Вывод нет print(mySqrt(12)) # Вывод 3
Я написал код, позволяющий найти квадратный корень из целого числа без использования оператора экспоненты и округления в меньшую сторону, если квадратный корень находится между целыми числами.
Я не могу понять, почему мой код не работает, когда входное целое число равно 1.
Я использовал оператор деления пола, и проблема, с которой я столкнулся, заключается в том, что код ломается, когда мой итератор (i) равен 1. Однако когда я вычисляю его по частям, 1*1 >= 1 оценивается как True. 1 // 1 равно 1. Поэтому я не понимаю, почему код ломается и возвращается None.
def mySqrt(x): если х == 0: вернуть х для я в диапазоне (x): если я*я >= х: вернуть х // я print(mySqrt(4)) # Вывод 2 print(mySqrt(1)) # Вывод нет print(mySqrt(12)) # Вывод 3
Мобильная версия