答案 0 :(得分:0)
您可以使用标志作为可选参数来指示该调用是否在顶层,并且如果且仅在这样的情况下,它将返回'0'
;否则它将返回一个空字符串:
def binary(n, top_level=True):
if n > 0:
return binary(n // 2, False) + str(n % 2)
elif top_level:
return '0'
else:
return ''
这样:
binary(11)
返回:'1011'