Реализуйте функцию is_happy_number(), которая возвращает True, если число счастливое, и False — если нет. Количество итераций процесса поиска необходимо ограничить числом 10.
Воспользуйтесь вспомогательной функцией sum_of_square_digits(), которая принимает на вход число и возвращает сумму квадратов цифр этого числа.
Назовем счастливыми те числа, сумма квадратов цифр которого, в результате ряда преобразований, превратятся в единицу.
С первой частью задачи все вроде понятно:
def sum_of_square_digits(n):
result = 0
while n > 0:
last = n % 10
result += last * last
n = n // 10
return result
Вот 2 часть:
def is_happy_number(n):
start = n
result = 0
while result != 1:
result = sum_of_square_digits(n)
n = result
if result == start:
return False
return True
print(is_happy_number(8))
Цифра 8 - цикл не останавливается, цифра 7 - все корр