这是一个作业问题。我尝试获得一个递归函数:
def problem_a(n):
answer.append(n)
if n == 1:
return answer
elif n % 2 == 0:
answer.append(n/2)
else :
answer.append(n*3 + 1)
problem_a(n*3 + 1)
显然,此代码不起作用,因为answer未定义为列表。使用循环可以正常工作,但是我想创建一个递归函数。我可以只使用一个列表作为输入,但是我想知道是否存在更优雅的东西。
problem_a(7) 应该给出作为输出:
[7, 22, 11, 34, 17, 52, 26, 13, 40 , 20, 10 ,5 ,16, 8, 4, 2, 1]
人到中年有点甜
四季花海
胡说叔叔
相关分类