我想以递归方式打印两个整数之间的所有整数,作为print_numbers
函数的输入。
到目前为止,我已经得到了:
def print_numbers(start,stop):
if start == stop:
print(start)
else:
print(start)
print(print_numbers(start + 1,stop))
但在致电print_numbers(1,5)
时,我得到了:
1
2
3
4
5
None
None
None
None
我似乎无法弄清楚没有来自哪里。
答案 0 :(得分:2)
当您致电print_between
时,print_between
不会返回任何内容,因此当您执行print(print_between(start + 1,stop))
时,它会打印None
,因为该函数会返回None
。
替换
print(print_between(start + 1,stop))
与
print_between(start + 1,stop)
另外,请确保您的功能名称为print_between
而不是print_numbers
快速查看DEMO
答案 1 :(得分:2)
函数的默认返回值为None。你不需要打印它。
def print_numbers(start,stop):
if start == stop:
print(start)
else:
print(start)
print_between(start + 1,stop)