def foo(num,base):
if(num>= base):
foo(num/base,base)
print num%base,num
numA =126
numB = 2
foo(numA,numB)
在我看来,
结果应该与图片1相同。但是,当我运行代码时,它出现为:
。
第一行是1,1。为什么? 条件满足循环,它应该在第一行打印1,63,在第二行打印1,31。同时,为什么0,126最后打印?
答案 0 :(得分:0)
我认为你想要的是下面的东西,第一次迭代将输入126,子序列将是num / base
def foo(num,base):
print num%base,num
if(num>= base):
foo(num/base,base)