📌  相关文章
📜  教资会网络 | UGC NET CS 2014 年 12 月 – III |问题 47(1)

📅  最后修改于: 2023-12-03 15:10:14.481000             🧑  作者: Mango

UGC NET CS 2014 年 12 月 – III |问题 47

本文主要介绍 UGC NET CS 2014 年 12 月 – III |问题 47,针对程序员给出详细介绍。

问题 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 初学者来说也是一段很好的练手代码。