下列程序调用fun函数计算:。实现这一计算,请补充下面的空,按照顺序填空。填空内容前面无需写1,2,3.只要填代码就可以。每个空只能填一行代码。
时间: 2024-03-02 16:53:51 浏览: 27
好的,以下是程序的实现:
```python
def fun(n):
if n == 0:
return 1
else:
return n * fun(n - 1)
k = 5
s = ____ # 填空1
for i in range(1, k + 1):
s += ____ # 填空2
print(s) # 输出120
```
这段程序的目的是计算 1! + 2! + 3! + … + k!,其中 k = 5。具体实现的方法是使用循环遍历 1 到 k 的所有数字,然后分别计算它们的阶乘,并将它们的阶乘相加。最终输出它们的和。
在空1处,可以填入以下代码:
```python
0
```
这行代码的含义是初始化 s 变量的值为 0,因为后面要将每个数字的阶乘相加,所以初始值为 0。
在空2处,可以填入以下代码:
```python
fun(i)
```
这行代码的含义是计算 i 的阶乘,并将它加到变量 s 中,表示将 i 的阶乘加到前面所有数字的阶乘的和中。循环结束后,变量 s 中存储的值即为 1! + 2! + 3! + … + k! 的结果,输出即可。
相关问题
1. 程序填空,该程序功能是:从键盘输入 10 名学生的成绩,显示其中的最高分、最低分 和平均成绩的计算用函数 fun 来实现,应该怎么写程 序
下面是程序的填空部分,可以实现从键盘输入 10 名学生的成绩,计算其中的最高分、最低分和平均成绩,并通过函数 `fun` 实现:
```python
# 定义函数 fun,用于计算最高分、最低分和平均成绩
def fun(scores):
max_score = max(scores)
min_score = min(scores)
avg_score = sum(scores) / len(scores)
return max_score, min_score, avg_score
# 从键盘输入 10 名学生的成绩
scores = []
for i in range(10):
score = float(input("请输入第{}名学生的成绩:".format(i+1)))
scores.append(score)
# 调用函数 fun 计算最高分、最低分和平均成绩
max_score, min_score, avg_score = fun(scores)
# 输出最高分、最低分和平均成绩
print("最高分:", max_score)
print("最低分:", min_score)
print("平均成绩:", avg_score)
```
在程序中,我们先定义了函数 `fun`,用于计算最高分、最低分和平均成绩。接着,通过循环从键盘输入 10 名学生的成绩,并将它们存储在列表 `scores` 中。最后,调用函数 `fun` 计算最高分、最低分和平均成绩,并将它们分别赋值给变量 `max_score`、`min_score` 和 `avg_score`,最终输出这些结果。
下列程序的功能是调用函数fun计算表达式1+1/2+1/3+···+1/n的值并输出,结果保留3位小数,不添加任何提示信息,请填空完成程序功能。
```python
def fun(n):
sum =
for i in range(1, n+1):
sum += 1/i
return sum
n = int(input())
result = fun(n)
print("{:.3f}".format(result))
```
程序的功能是调用函数fun计算表达式1+1/2+1/3+···+1/n的值并输出,结果保留3位小数。程序中使用了一个函数fun,该函数接受一个参数n,计算表达式的值并返回结果。主程序中读入n的值,调用函数fun计算结果,并使用格式化字符串输出结果。