Найти - Пользователи
Полная версия: Функция, проверяющая является ли число квадратом целого числа
Начало » Центр помощи » Функция, проверяющая является ли число квадратом целого числа
1
vladimir_vl_vlad
Написал функцию, но проблема в том, что при извлечении квадратного корня из числа, результат принимает вид “2.0” и проверка функцией isinstance показывает, что это число не целое. Не пойму как решить проблему с этой точкой?
 def square_number(n):
    num = n
    sqrt = math.sqrt(num)
    print(type(sqrt))
    if isinstance(sqrt, int):
        return True
    else:
        return False
for number in range(1, 100):
    if square_number(number):
        print(f'Число {number} является квадратом целого числа')
    else:
        print(f'Число {number} не является квадратом целого числа')
xam1816
     if sqrt.is_integer():
        return True
    else:
        return False
doza_and
Никак вы ее не решите. Результат извлечения корня это действительное число. В целое оно превратится только округлением. Но округлить можно любое действительное число.
Вам надо полностью менять алгоритм. воспользуйтесь тем что произведение целых целое число.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB