Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 2, 2018 18:05:44

DAS
Зарегистрирован: 2017-11-30
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по рекурсии.

Добрый вечер, помогите разобраться. Почему выводит NONE?
Задача:
Точная степень двойки
Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае.
Операцией возведения в степень пользоваться нельзя!

Мое решение:

 def two(num):
    if num == 1:
        print('YES')
    elif num < 1:
        print('N0')
    else:
        two(num/2)
print(two(32))

Результат:
YES
None

Отредактировано FishHook (Фев. 2, 2018 18:36:20)

Офлайн

#2 Фев. 2, 2018 18:37:12

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вопрос по рекурсии.

В вашей функции нет ключевого слова return



Офлайн

#3 Фев. 2, 2018 18:56:52

DAS
Зарегистрирован: 2017-11-30
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по рекурсии.

Спасибо.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version