Уведомления

Группа в Telegram: @pythonsu

#1 Июль 14, 2017 15:09:40

yana23
Зарегистрирован: 2017-07-14
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

рекурсия и return

Почему может не работать return? Если в функцию загоняю print(a), а затем просто вызываю функцию, все работает. Но если хочу из функции вернуть значение переменной, пишу return a, а значение функции вывожу через print - работает уже некорректно
Вот так работает
def NOD(a, b):
if b == 0:
print(a)
if b != 0:
(a, b) = (b, a % b)
NOD(a, b)
a = int(input())
b = int(input())
NOD(a, b)

А вот так - нет:

def NOD(a, b):
if b == 0:
return a
if b != 0:
(a, b) = (b, a % b)
NOD(a, b)
a = int(input())
b = int(input())
print(NOD(a, b))

Почему?

Офлайн

#2 Июль 14, 2017 15:26:52

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

рекурсия и return

 def NOD(a, b):
    if b == 0:
        return a
    if b != 0:
        (a, b) = (b, a % b)
        return NOD(a, b)
a = int(input())
b = int(input())
print(NOD(a, b))

Офлайн

#3 Июль 14, 2017 15:30:50

yana23
Зарегистрирован: 2017-07-14
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

рекурсия и return

krok64
Спасибо огромное!!!!!!!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version