python递归课后作业
问题:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
我的代码:
什么都不打印,求解答
def funtion1(x,y):#x为第一个人的岁数,y为总人数
if y == 1:
x += 2
return x
else:
funtion1(x,y-1)
x += 2
return x
print('%d岁' % (x))
funtion1(10,5)
(ps:该来的终究还是来了{:10_285:} ) 本帖最后由 zltzlt 于 2020-4-1 21:08 编辑
def funtion1(x, y):# x为第一个人的岁数,y为总人数
if y == 1:
x += 2
return x
else:
x = funtion1(x, y - 1)
x += 2
return x
x = funtion1(10, 5)
print('%d岁' % x)
打印应该放到外面,而且需要 x 接收 funtion1 的返回值 return会把值给到函数本身也就是funtion(x,y),而且return是函数执行结束的标志,所以在函数里面不会执行到print()语句的。
页:
[1]