【发布时间】:2014-12-02 04:01:27
【问题描述】:
所以我知道这是一件简单的事情,可以在没有递归函数的情况下完成,但我需要知道背后的原因,因为我似乎无法弄清楚如何使用递归来编写它。到目前为止我正在使用这个
n = int(raw_input("What is n? "))
def digit(n):
if n< 10:
return 1
else:
new = n/10
print 1 + digit(new/10)
return 1 + digit(new/10)
digit(n)
现在,如果我输入一个数字,例如 33,那么它会输出 2,但如果我输入一个更长的数字,那么它就不能正确打印它,我不确定它到底有什么问题。
【问题讨论】: