由于我对python和编程相当新,我有一个非常基本的问题。我想创建一个迭代函数和一个执行此操作的递归函数:
bounce(4)
4 3 2 1 0 1 2 3 4
我知道这很简单,但任何帮助都会受到赞赏。
我目前的代码如下:
def bounce1(n):
if n==0:
print "0",
else:
print n,
bounce1(n-1)
def bounce2(n):
if n>=1:
bounce2(n-1)
print n
def bounce(n):
bounce1(n)
bounce2(n)
答案 0 :(得分:2)
迭代实现:
>>> def bounce(num):
... limit, delta = num + 1, -1
... while(num != limit):
... print num
... num += delta
... if num == 0:
... delta = 1
递归实施:
>>> def bounce(num):
... print num
... if num:
... bounce(num - 1)
... print num
...
...
两种情况下的输出:
>>> bounce(4)
4
3
2
1
0
1
2
3
4
答案 1 :(得分:1)
如果你可以使用range
,我会在Python 2.7中这样做:
f = lambda x : map(abs, range(-x,x+1))
for x in f(4):
print x,