有字符串"语文:80,数学:82,英语:90, 物理: 85,化学:88,美术:80",存放了某个学生各科的期末考试成绩,求该学生所有科目的总分和平均分(保留 一位小数)。 改题无输入 输出为 505 84.2
时间: 2023-12-03 16:43:47 浏览: 148
学生各科成绩,二进制和文本方式写入
5星 · 资源好评率100%
可以先将字符串按逗号分割成各个科目的成绩,再计算总分和平均分。
可以采用以下代码实现:
```python
scores = "语文:80,数学:82,英语:90,物理:85,化学:88,美术:80"
score_list = scores.split(",")
total_score = 0
for score in score_list:
subject, point = score.split(":")
total_score += int(point)
average_score = round(total_score / len(score_list), 1)
print(total_score, average_score)
```
输出结果为:
```
505 84.2
```
其中,`split` 方法可以将字符串按照指定字符进行分割,返回一个列表。在本例中,我们先将字符串按逗号分割成各个科目的成绩,得到一个包含各科目成绩的列表。
接着,我们使用 `for` 循环遍历列表中的每个元素,再使用 `split` 方法将科目和分数分别提取出来,并将分数转换成整型。将各科目的分数累加得到总分。
最后,计算平均分时,我们将总分除以科目数,并使用内置的 `round` 函数保留一位小数。
阅读全文