题目
以下有一个函数,假设函数入参 a=5,则 y=Fun(a) 的值是?```def Fun(a): y=0 for i in range(a): y+=i return y```A 10B 5C 20D 15
以下有一个函数,假设函数入参 a=5,则 y=Fun(a) 的值是?
```
def Fun(a):
y=0
for i in range(a):
y+=i
return y
```
A 10
B 5
C 20
D 15
题目解答
答案
我们来逐步分析题目中给出的 Python 函数:
def Fun(a):
y = 0
for i in range(a):
y += i
return y
1. 理解函数逻辑:
- 函数
Fun(a)接收一个参数a。 - 初始化变量
y = 0。 for i in range(a):这一行表示循环。在 Python 中,range(a)会生成一个从0开始,到a-1结束的整数序列(不包含a本身)。y += i表示在每次循环中,将当前的i值累加到y中。- 最后,函数返回累加后的
y值。
2. 代入参数 a = 5 进行执行:
- 此时,
range(5)生成的序列为:0, 1, 2, 3, 4。 - 我们来看看循环的每一步:
- 初始状态:
y = 0 - 第 1 次循环:
i = 0,执行y += 0,此时y = 0 + 0 = 0 - 第 2 次循环:
i = 1,执行y += 1,此时y = 0 + 1 = 1 - 第 3 次循环:
i = 2,执行y += 2,此时y = 1 + 2 = 3 - 第 4 次循环:
i = 3,执行y += 3,此时y = 3 + 3 = 6 - 第 5 次循环:
i = 4,执行y += 4,此时y = 6 + 4 = 10
- 初始状态:
- 循环结束,函数返回
y的值,即10。
结论:
当 a = 5 时,y = Fun(a) 的值是 10。
对应选项,正确答案是 A。
解析
本题考查对 Python 函数和循环结构的理解与运用。解题思路是先明确函数的功能,即接收一个参数 a,通过 for 循环遍历 range(a) 生成的序列,将序列中的每个元素累加到变量 y 上,最后返回 y 的值。然后将 a = 5 代入函数,逐步分析循环过程中 y 的变化情况。
- 当
a = 5时,range(5)会生成一个从 0 到 4 的整数序列,即0, 1, 2, 3, 4。 - 初始化
y = 0。 - 进入
for循环:- 第 1 次循环:
i = 0,执行y += 0,根据公式 $y = y + i$,此时 $y = 0 + 0 = 0$。 - 第 2 次循环:
i = 1,执行y += 1,根据公式 $y = y + i$,此时 $y = 0 + 1 = 1$。 - 第 3 次循环:
i = 2,执行y += 2,根据公式 $y = y + i$,此时 $y = 1 + 2 = 3$。 - 第 4 次循环:
i = 3,执行y += 3,根据公式 $y = y + i$,此时 $y = 3 + 3 = 6$。 - 第 5 次循环:
i = 4,执行y += 4,根据公式 $y = y + i$,此时 $y = 6 + 4 = 10$。
- 第 1 次循环:
- 循环结束后,函数返回
y的值,即 10。