def is_power_of_two:
# Базовый случай: если число равно 1, оно является целой степенью 2
if n == 1:
return True
# Базовый случай: если число меньше 1 или нечетное, оно не является целой степенью 2
elif n < 1 or n % 2 != 0:
return False
# Рекурсивный случай: проверяем, является ли n / 2 целой степенью 2
else:
return is_power_of_two(n // 2)
# Запрос ввода числа от пользователя
number = int(input("Введите число: ")
# Проверка и вывод результата
if is_power_of_two(number):
print("YES"
else:
print("NO"
Для этой задачи БЕССМЫСЛЕННО использовать рекурсию, т.к. она решается элементарным выражением. n = int(input())
print(['NO', 'YES'][n & (n - 1) == 0]) Если бы для решения задачи нужен был цикл, её можно было бы записать рекурсивно. Но здесь цикла даже близко нет.