我想用这样的数字制作一个字符串:123456789
。
我可以使用for
循环轻松编写此代码。
x = ""
for i in range(1, 10):
x += str(i)
但是,我想编写没有显式for
循环的代码。
有什么创造性的方法可以做到这一点?
仅出于此目的,如果您确实需要,可以使用递归函数:
def stringer(n):
if n <= 1:
return '1'
return stringer(n-1) + str(n)
函数的作用是123...n
通过递归调用自身来返回字符串,n
每次减小直到到达1
,然后在返回的路径上构建字符串。
如果这样调用print(stringer(9))
将得到:
123456789
那里没有循环,只是一个不错的调用堆栈
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句