【题目】
1~N求和
【题目解析】
假设N=5
第5项==>[1,2,3,4]+5
4==>[1,2,3]+4
3==>[1,2]+3
2==>[1]+2
1==>[0]+1
【正向代码】
def ac(l):
if l==[]:
return 0
else:
return l[0]+ac(l[1:])
print(ac([1,2,3,4,5]))
【反向代码】
#递归练习——1~n求和
def ac(l):
if l==[]:#如果列表l等于空
return 0 #返回0
return ac(l[:-1])+l[-1]
print(ac([1,2,3,4,5]))
'''
解题思路
第5项==>[1,2,3,4]+5
4==>[1,2,3]+4
3==>[1,2]+3
2==>[1]+2
1==>[0]+1
'''
【题目】——依次输出前n个数
#从后往前
def ac(n):
if n<0:
return
else:
ac(n-1)
print(n)
ac(4)
#从前往后
def ac(star,end):
if star==end:
print(end)
return
else:
print(star)
ac(star+1,end)
ac(0,4)
【输出结果】