我打算用这个函数递归地乘以两个数字。我意识到这很可能远非最佳。为什么我print rec_mult(15, 1111)
对这个函数的调用是打印None
而不是打印16665
?
def rec_mult(x, y, tot=0, inc=0):
if int(x) == 0:
return tot
else:
x = str(x)
tot += int(x[(-1+inc):]) * y
x = x[:(-1+inc)] + "0"; inc -= 1
rec_mult(x, y, tot, inc)