【发布时间】:2022-12-08 04:40:03
【问题描述】:
我尝试使用递归将十进制数转换为二进制数,最后它应该返回包含二进制数数字的列表。但是它没有返回该列表,而是返回 None。但是当我尝试在递归函数中打印列表时,它会正确打印列表。有人可以指出我在这里做错了什么吗?
def binary_rec(n, l=[]):
if n>=1:
r = n%2
l.append(r)
binary_rec(n//2, l)
else:
print(sorted(l,reverse=True))
l_rev = sorted(l,reverse=True)
#ll = l.copy()
#print('I am ll')
#print(ll)
#return ll
return l_rev
if __name__ == '__main__':
import sys
inp = sys.argv[1]
x = binary_rec(int(inp),l=[])
print(x)
【问题讨论】:
-
这回答了你的问题了吗? Why does my recursive function return None?