python某位同学修读了n门课程(n的取值至少为3),每门课程有不 同的学分,并获得了不同的成绩,请利用组合数据类型中的知识,输入各科目、成绩和学分后并输出显示,计算加权平均分后将结果输出;
时间: 2024-05-11 15:19:14 浏览: 62
基于神经网络算法LSTM模型对股票指数进行预测.zip
5星 · 资源好评率100%
可以使用字典和列表来存储学科、成绩和学分,并计算加权平均分。以下是示例代码:
```python
n = int(input("请输入修读课程的门数:"))
# 初始化字典和列表
subjects = {}
scores = []
credits = []
# 输入各科目、成绩和学分,并存储到字典和列表中
for i in range(n):
subject = input("请输入第{}门课程的名称:".format(i+1))
score = float(input("请输入{}的成绩:".format(subject)))
credit = float(input("请输入{}的学分:".format(subject)))
subjects[subject] = {"score": score, "credit": credit}
scores.append(score)
credits.append(credit)
# 计算加权平均分
weighted_sum = sum([scores[i] * credits[i] for i in range(n)])
average = weighted_sum / sum(credits)
# 输出各科目、成绩和学分,并显示加权平均分
print("各科目、成绩和学分如下:")
for subject in subjects:
print("{}:成绩{},学分{}".format(subject, subjects[subject]["score"], subjects[subject]["credit"]))
print("加权平均分为:{:.2f}".format(average))
```
示例输出:
```
请输入修读课程的门数:3
请输入第1门课程的名称:数学
请输入数学的成绩:90
请输入数学的学分:4
请输入第2门课程的名称:英语
请输入英语的成绩:85
请输入英语的学分:3
请输入第3门课程的名称:计算机
请输入计算机的成绩:95
请输入计算机的学分:2
各科目、成绩和学分如下:
数学:成绩90.0,学分4.0
英语:成绩85.0,学分3.0
计算机:成绩95.0,学分2.0
加权平均分为:89.67
```
阅读全文