2 求每个学生的平均成绩。 学生成绩s= {"Teddy":[100,90,90]," Sandy":[100,90,80], "Elmo":[90,90,80]}输出结果为: {'Teddy': 93, 'Sandy': 90, 'Elmo': 86}
时间: 2024-03-20 16:38:50 浏览: 10
请尝试以下代码:
```python
# 定义学生成绩字典
scores = {"Teddy":[100,90,90],"Sandy":[100,90,80], "Elmo":[90,90,80]}
# 遍历学生成绩字典,计算每个学生的平均成绩
averages = {}
for name, score_list in scores.items():
total = sum(score_list)
count = len(score_list)
average = total / count
averages[name] = int(average)
# 输出每个学生的平均成绩
print(averages)
```
输出结果为:`{'Teddy': 93, 'Sandy': 90, 'Elmo': 86}`
注意:在本代码中,我们假设每个学生的成绩列表都是有效的,即列表中包含的分数都是数字。如果成绩列表不符合要求,程序会抛出异常。
相关问题
学生成绩 s ={"Teddy":[100,90,90],"Sandy":[100,90,80],"Elmo":[90,90,80]} 输出结果为:{"Teddy": 93.3,"Sandy": 90,"Elmo": 86.7}
这是一个计算学生成绩平均分的问题。根据给定的学生成绩字典s,我们可以按照以下步骤计算每个学生的平均分:
1. 遍历学生成绩字典s中的每个学生及其对应的成绩列表。
2. 对于每个学生,计算其成绩列表的总和,并除以成绩数量得到平均分。
3. 将每个学生及其平均分存储在一个新的字典中。
下面是具体的实现代码:
```python
s = {"Teddy": [100, 90, 90], "Sandy": [100, 90, 80], "Elmo": [90, 90, 80]}
result = {}
for student, scores in s.items():
average = sum(scores) / len(scores)
result[student] = round(average, 1)
print(result)
```
输出结果为:{"Teddy": 93.3, "Sandy": 90.0, "Elmo": 86.7}
用java写一个学生成绩排序
好的,以下是Java代码示例,用来对学生的成绩进行排序:
```
import java.util.*;
class Student implements Comparable<Student>{
int id;
String name;
int score;
public Student(int id, String name, int score) {
super();
this.id = id;
this.name = name;
this.score = score;
}
@Override
public int compareTo(Student s) {
if(this.score == s.score)
return this.name.compareTo(s.name);
else
return s.score - this.score;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", score=" + score + "]";
}
}
public class SortStudents {
public static void main(String[] args) {
Student s1 = new Student(1, "Tom", 90);
Student s2 = new Student(2, "Jerry", 80);
Student s3 = new Student(3, "Teddy", 95);
List<Student> list = new ArrayList<>();
list.add(s1);
list.add(s2);
list.add(s3);
Collections.sort(list);
System.out.println(list);
}
}
```
以上代码会按照学生的分数进行降序排列,并且如果两个学生的分数相同,则按照姓名的字典序进行排序。