怎样改进这段代码使其支持多门科目的成绩计算?
时间: 2024-11-30 11:28:49 浏览: 10
要改进这段代码以支持多门科目的成绩计算,你可以创建一个列表来存储所有科目的成绩,而不是固定为三门。这里是一个修改后的版本:
```python
num_subjects = int(input("请输入科目数量: "))
student_scores = {}
for i in range(1, num_subjects+1):
subject_name = input(f"请输入第{i}门课程的名称:")
score = float(input(f"请输入学生的{subject_name}成绩:"))
student_scores[subject_name] = score
total_score = sum(student_scores.values())
average_score = total_score / len(student_scores)
percentage_list = {subject: (score / total_score) * 100 for subject, score in student_scores.items()}
print(f"总成绩: {total_score:.2f}")
print(f"平均成绩: {average_score:.2f}")
for subject, percentage in percentage_list.items():
print(f"{subject}成绩占总成绩的百分比: {percentage:.2f}%")
```
现在可以根据用户输入的不同科目数量,动态地添加和计算各科成绩。
阅读全文