请编写一个函数fun,函数的功能是:统计出若干个学生的平均成绩,最高分以及得最高分的人数。
时间: 2023-05-31 21:18:01 浏览: 376
### 回答1:
函数fun的实现如下:
```python
def fun(scores):
n = len(scores) # 学生人数
total_score = sum(scores) # 所有学生的总成绩
avg_score = total_score / n # 平均成绩
max_score = max(scores) # 最高分
max_count = scores.count(max_score) # 得最高分的人数
return avg_score, max_score, max_count
```
其中,`scores`是一个包含若干个学生成绩的列表。函数首先计算出所有学生的总成绩,然后除以学生人数得到平均成绩。接着,使用`max`函数找到最高分,再使用`count`方法统计得最高分的人数。最后,将平均成绩、最高分和得最高分的人数作为一个元组返回。
### 回答2:
这个函数可以接受一个列表作为参数,列表中包含了若干个学生的成绩。函数可以使用Python用于数学计算的库numpy来完成平均值和最大值的计算。
以下是这个函数的实现:
```python
import numpy as np
def fun(scores):
# 计算平均成绩
avg_score = np.mean(scores)
# 计算最高分
max_score = np.max(scores)
# 统计得到最高分的人数
max_count = np.sum(scores == max_score)
# 返回结果
return avg_score, max_score, max_count
```
接下来是使用这个函数的示例:
```python
# 定义学生成绩列表
scores = [98, 86, 92, 95, 98, 99, 88, 93, 97, 92]
# 调用fun函数
avg_score, max_score, max_count = fun(scores)
# 输出结果
print("平均成绩为:", avg_score)
print("最高分为:", max_score)
print("得最高分的人数为:", max_count)
```
输出结果为:
```
平均成绩为: 93.0
最高分为: 99
得最高分的人数为: 1
```
可以看到,这个函数成功地计算出了学生的平均成绩、最高分以及得最高分的人数。
### 回答3:
分析题目,可以得知需要输入若干个学生的成绩,计算出这些学生的平均成绩和最高分,还要统计一下最高分的人数。考虑编写一个函数fun来完成这个任务。
由于需要输入多个学生的成绩,可以使用循环,每次循环输入一个学生的成绩,并累加到总成绩中。统计完所有学生的成绩后,可以计算出平均成绩。同时,也需要在循环中记录下最高分和最高分的人数。
下面是一个可能的函数实现:
```python
def fun():
n = int(input("请输入学生人数:"))
scores = []
max_score = 0
max_count = 0
total_score = 0
for i in range(n):
score = int(input("请输入第{}个学生的成绩:".format(i+1)))
scores.append(score)
total_score += score
if score > max_score:
max_score = score
max_count = 1
elif score == max_score:
max_count += 1
average_score = total_score / n
print("平均成绩为:{:.2f}".format(average_score))
print("最高分为:{},得最高分的人数为:{}".format(max_score, max_count))
```
这个函数首先输入学生人数,然后使用循环输入每个学生的成绩,并进行统计。在循环中,每次比较新输入的成绩和当前的最高分,如果新成绩比当前最高分高,则更新最高分和最高分的人数;如果新成绩和当前最高分相等,则只需要将最高分的人数加1。最后计算出平均成绩,并输出最高分和得最高分的人数。
需要注意的是,这个函数没有对输入进行校验,如果输入的不是整数,程序会发生错误。在实际使用中,需要根据需要进行输入校验和异常处理。
阅读全文