Я делаю упражнение из книги, где я должен писать программу, которая может принимать положительное целое число больше 2 и выписывать количество раз, которое нужно разделить этим числом на 2, прежде чем получить значение меньше чем 2.Получение возврата Нет значения
def inStr():
n = -1
while n<2:
try:
n = int(input('Enter a positive integer greater than 2: '))
except:
pass
print(positive(n)) # prints None
def positive(n, step=0):
if n < 2:
# print(step) #it prints correct answer
return step #but why it returns None?
positive(n//2, step+1)
inStr()
Я не понимаю, почему def positive(n, step=0)
возвращается None
?
кажется, что вы забыли добавить 'return' право перед' положителен (п // 2, шаг + 1) '? – Ilya
спасибо, должен быть более осторожным в следующий раз :) –