📅  最后修改于: 2023-12-03 15:10:14.481000             🧑  作者: Mango
本文主要介绍 UGC NET CS 2014 年 12 月 – III |问题 47,针对程序员给出详细介绍。
以下 Python 代码的输出是什么?
def myFunc(x):
if x <= 0:
return 0
else:
return x + myFunc(x-1)
print(myFunc(5))
(A) 0
(B) 10
(C) 15
(D) 20
这段 Python 代码使用了递归的方式,计算从 5 到 0 的所有整数的和。
首先定义了一个函数 myFunc,接收一个参数 x。如果 x 小于等于 0,那么直接返回 0,否则返回 x + myFunc(x-1)。也就是说,myFunc(x) 的值等于 x 加上 myFunc(x-1) 的值。
因此,调用 myFunc(5) 时,会依次调用 myFunc(4), myFunc(3), myFunc(2), myFunc(1) 和 myFunc(0),并将这些函数的返回值相加。
最后的结果是 5+4+3+2+1+0=15,因此代码的输出是 (C) 15。
代码中使用了递归的方式,对于理解递归非常重要。同时,代码的实现也展示了函数的定义和调用、if-else 语句的使用等,对于 Python 初学者来说也是一段很好的练手代码。