python2.7中的打印输出序列

时间:2016-10-19 04:43:24

标签: python-2.7

def foo(num,base):
    if(num>= base):
        foo(num/base,base)
    print num%base,num
 numA =126
 numB = 2
foo(numA,numB)

在我看来,

enter image description here

结果应该与图片1相同。但是,当我运行代码时,它出现为:

enter image description here

第一行是1,1。为什么? 条件满足循环,它应该在第一行打印1,63,在第二行打印1,31。同时,为什么0,126最后打印?

1 个答案:

答案 0 :(得分:0)

我认为你想要的是下面的东西,第一次迭代将输入126,子序列将是num / base

def foo(num,base):
    print num%base,num
    if(num>= base):
        foo(num/base,base)