用Python实现输入成绩(函数,形参无,返回该成绩列表)、成绩排序(函数,形参原成绩列表,返回原成绩列表和排序后的列表) 、成绩统计(函数,形参排序后的成绩列表,返回最大值、最小值、及格比例)。 调用函数运行,且输出原成绩、排序后的成绩、最大值、最小值、及格比例等信息
时间: 2024-05-10 21:17:10 浏览: 64
python 成绩统计
5星 · 资源好评率100%
好的,以下是代码实现:
```python
# 输入成绩
def input_scores():
scores = []
while True:
score = input("请输入成绩(输入q退出):")
if score == "q":
break
scores.append(int(score))
return scores
# 成绩排序
def sort_scores(scores):
sorted_scores = sorted(scores)
return scores, sorted_scores
# 成绩统计
def statistics_scores(sorted_scores):
max_score = max(sorted_scores)
min_score = min(sorted_scores)
pass_scores = [score for score in sorted_scores if score >= 60]
pass_rate = len(pass_scores) / len(sorted_scores)
return max_score, min_score, pass_rate
# 主函数
if __name__ == "__main__":
# 输入成绩
scores = input_scores()
# 成绩排序
scores, sorted_scores = sort_scores(scores)
# 成绩统计
max_score, min_score, pass_rate = statistics_scores(sorted_scores)
# 输出信息
print("原成绩:", scores)
print("排序后的成绩:", sorted_scores)
print("最高分:", max_score)
print("最低分:", min_score)
print("及格比例:{:.2%}".format(pass_rate))
```
运行结果:
```
请输入成绩(输入q退出):80
请输入成绩(输入q退出):90
请输入成绩(输入q退出):70
请输入成绩(输入q退出):50
请输入成绩(输入q退出):q
原成绩: [80, 90, 70, 50]
排序后的成绩: [50, 70, 80, 90]
最高分: 90
最低分: 50
及格比例:75.00%
```
阅读全文