设计一个python程序,使用列表记录一个班级的计算机考试成绩,用户输入10名学生的成绩后,计算全班的最高分、最低分、平均分和成绩的标准差。
时间: 2024-10-25 16:10:31 浏览: 38
设计一个Python程序,可以按照以下步骤完成:
```python
import math
# 初始化一个空列表来存储学生成绩
scores = []
def input_scores():
while len(scores) < 10:
score = float(input("请输入第{}名学生的成绩(输入'q'退出):".format(len(scores)+1)))
if score == 'q':
break
scores.append(score)
def calculate_stats():
# 计算最高分
max_score = max(scores)
# 计算最低分
min_score = min(scores)
# 计算平均分
avg_score = sum(scores) / len(scores)
# 计算标准差
variance = sum((x - avg_score) ** 2 for x in scores) / len(scores)
std_dev = math.sqrt(variance)
return max_score, min_score, avg_score, std_dev
def main():
print("开始输入成绩...")
input_scores()
print("\n---成绩统计结果---")
max_score, min_score, avg_score, std_dev = calculate_stats()
print("最高分:", max_score)
print("最低分:", min_score)
print("平均分:", round(avg_score, 2))
print("标准差:", round(std_dev, 2))
if __name__ == "__main__":
main()
```
在这个程序中,我们首先创建了一个空列表`scores`,然后通过`input_scores`函数让用户逐个输入10名学生的成绩,如果用户输入的是'q'则退出输入。接着,`calculate_stats`函数用于计算最高分、最低分、平均分和标准差,并返回这四个值。最后,在`main`函数中展示计算结果。
阅读全文