2. 使用List集合存储10个学生信息,学生信息: 姓名,年龄,分数. 统计所有姓张的同学的平均成绩
时间: 2024-04-14 10:27:55 浏览: 257
你可以使用以下代码来实现这个功能:
```python
students = [
{"姓名": "张三", "年龄": 18, "分数": 90},
{"姓名": "张四", "年龄": 19, "分数": 85},
{"姓名": "李五", "年龄": 20, "分数": 95},
{"姓名": "张六", "年龄": 21, "分数": 88},
{"姓名": "王七", "年龄": 22, "分数": 92},
{"姓名": "赵八", "年龄": 23, "分数": 89},
{"姓名": "张九", "年龄": 24, "分数": 87},
{"姓名": "钱十", "年龄": 25, "分数": 91},
{"姓名": "孙十一", "年龄": 26, "分数": 90},
{"姓名": "张十二", "年龄": 27, "分数": 93}
]
zhang_scores = [student["分数"] for student in students if student["姓名"].startswith("张")]
average_score = sum(zhang_scores) / len(zhang_scores)
print("所有姓张的同学的平均成绩为:", average_score)
```
上述代码创建了一个包含10个学生信息的列表。然后,使用列表推导式筛选出姓张的学生的分数,并计算平均值。最后,打印出所有姓张的同学的平均成绩。
相关问题
Java 使用List集合存储10个学生信息,学生信息: 姓名,年龄,分数. 统计所有姓张的同学的平均成绩
你可以使用以下Java代码来实现这个功能:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
students.add(new Student("张三", 18, 90));
students.add(new Student("张四", 19, 85));
students.add(new Student("李五", 20, 95));
students.add(new Student("张六", 21, 88));
students.add(new Student("王七", 22, 92));
students.add(new Student("赵八", 23, 89));
students.add(new Student("张九", 24, 87));
students.add(new Student("钱十", 25, 91));
students.add(new Student("孙十一", 26, 90));
students.add(new Student("张十二", 27, 93));
int count = 0;
int sum = 0;
for (Student student : students) {
if (student.getName().startsWith("张")) {
count++;
sum += student.getScore();
}
}
double averageScore = (double) sum / count;
System.out.println("所有姓张的同学的平均成绩为: " + averageScore);
}
}
class Student {
private String name;
private int age;
private int score;
public Student(String name, int age, int score) {
this.name = name;
this.age = age;
this.score = score;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public int getScore() {
return score;
}
}
```
上述代码定义了一个`Student`类来表示学生,包含姓名、年龄和分数属性。在`Main`类的`main`方法中,创建了一个存储学生信息的`List`集合,并添加了10个学生对象。然后,使用循环遍历集合,统计所有姓张的同学的分数总和和人数。最后,计算平均成绩并打印输出。
(一)1.使用List集合存储10个学生信息(建学生类)。 学生信息:姓名,年龄,成绩。 统计所有姓“张”的同学的平均成绩
首先,你需要创建一个名为`Student`的学生类,包含姓名、年龄和成绩属性。然后使用`List<Student>`来存储10个学生的实例。假设`Student`类的结构如下:
```java
public class Student {
private String name;
private int age;
private double score;
// 构造函数,getters和setters...
public Student(String name, int age, double score) {
this.name = name;
this.age = age;
this.score = score;
}
// 获取和设置方法...
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
public double getScore() { return score; }
public void setScore(double score) { this.score = score; }
}
```
接下来,你可以创建一个列表来存储学生,并统计姓“张”的学生平均成绩:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
for (int i = 0; i < 10; i++) {
String name = "张" + (i+1); // 假设前10个学生都姓张
int age = i + 18; // 假设年龄从18岁开始递增
double score = i * 10; // 假设分数递增
students.add(new Student(name, age, score));
}
double totalScore = 0;
int count = 0;
for (Student student : students) {
if (student.getName().startsWith("张")) {
totalScore += student.getScore();
count++;
}
}
if (count > 0) {
double averageScore = totalScore / count;
System.out.println("姓张的同学平均成绩为:" + averageScore);
} else {
System.out.println("没有找到姓张的同学");
}
}
}
```
在这个例子中,我们遍历学生列表,如果发现学生的姓名以“张”开头,就累加他们的成绩并增加计数器。最后,计算平均值并打印出来。
阅读全文