有12个学生,每个学生的数据包括学号、姓名、三门课程的成绩及其平均分。首先输入这12个学生的数据,然后再计算每个学生3门课程的平均分,并输出第6号学生的所有信息。python
时间: 2023-12-15 08:53:12 浏览: 75
可以使用列表和字典来存储学生的数据。以下是一个示例代码:
```python
students = []
for i in range(12):
student = {}
student['id'] = input("请输入第{}个学生的学号:".format(i+1))
student['name'] = input("请输入第{}个学生的姓名:".format(i+1))
scores = []
for j in range(3):
score = float(input("请输入第{}个学生的第{}门课程成绩:".format(i+1, j+1)))
scores.append(score)
student['scores'] = scores
student['average'] = sum(scores) / 3
students.append(student)
print("第6号学生的信息如下:")
print(students[5])
```
这个代码首先创建了一个空列表 `students`,然后使用循环输入每个学生的数据,包括学号、姓名、三门课程的成绩和平均分。最后输出第6号学生的所有信息。
注意,这个代码忽略了输入数据的合法性检查,如果需要可以自行添加。
相关问题
有12个学生,每个学生的数据包括学号、姓名、三门课程的成绩及其平均分。首先输入这12个学生的数据,然后再计算每个学生3门课程的平均分,并输出第6号学生的所有信息。
这道题可以使用结构体来存储每个学生的数据,然后通过循环计算每个学生的平均分,并输出第6号学生的所有信息。下面是一个示例代码:
```c
#include <stdio.h>
struct student {
int id;
char name[20];
float score1;
float score2;
float score3;
float avg_score;
};
int main() {
struct student stu[12];
int i;
// 输入每个学生的数据
for (i = 0; i < 12; i++) {
printf("请输入第%d个学生的学号、姓名、三门课程的成绩:\n", i+1);
scanf("%d %s %f %f %f", &stu[i].id, stu[i].name, &stu[i].score1, &stu[i].score2, &stu[i].score3);
}
// 计算每个学生的平均分
for (i = 0; i < 12; i++) {
stu[i].avg_score = (stu[i].score1 + stu[i].score2 + stu[i].score3) / 3;
}
// 输出第6号学生的所有信息
printf("第6号学生的信息为:\n");
printf("学号:%d\n", stu[5].id);
printf("姓名:%s\n", stu[5].name);
printf("第一门课程成绩:%f\n", stu[5].score1);
printf("第二门课程成绩:%f\n", stu[5].score2);
printf("第三门课程成绩:%f\n", stu[5].score3);
printf("平均分:%f\n", stu[5].avg_score);
return 0;
}
```
注意,数组下标是从0开始的,所以第6号学生的下标是5。在输出平均分时,需要在结构体中定义一个成员变量来存储平均分。
有20个学生,每个学生的数据包括学号、姓名、三门课程的成绩及其平均分。首先输入这20个学生的数据,然后再计算每个学生3门课程的平均分,并输出第12号学生的所有信息。
以下是一个示例代码,可以实现上述功能:
```python
class Student:
def __init__(self, id, name, score1, score2, score3):
self.id = id
self.name = name
self.score1 = score1
self.score2 = score2
self.score3 = score3
def get_average_score(self):
return (self.score1 + self.score2 + self.score3) / 3
students = []
# 输入学生数据
for i in range(20):
id = input("请输入第%d个学生的学号:" % (i+1))
name = input("请输入第%d个学生的姓名:" % (i+1))
score1 = float(input("请输入第%d个学生的第1门课程成绩:" % (i+1)))
score2 = float(input("请输入第%d个学生的第2门课程成绩:" % (i+1)))
score3 = float(input("请输入第%d个学生的第3门课程成绩:" % (i+1)))
student = Student(id, name, score1, score2, score3)
students.append(student)
# 计算每个学生的平均分
for student in students:
average_score = student.get_average_score()
print("%s的平均分为%.2f" % (student.name, average_score))
# 输出第12号学生的所有信息
student = students[11]
print("第12号学生的学号:%s" % student.id)
print("第12号学生的姓名:%s" % student.name)
print("第12号学生的第1门课程成绩:%.2f" % student.score1)
print("第12号学生的第2门课程成绩:%.2f" % student.score2)
print("第12号学生的第3门课程成绩:%.2f" % student.score3)
print("第12号学生的平均分为:%.2f" % student.get_average_score())
```
这段代码定义了一个 `Student` 类,包含学生的学号、姓名、三门课程的成绩,以及计算平均分的方法。首先通过输入来初始化20个学生的数据,并将它们存储在一个列表中。然后遍历列表,计算每个学生的平均分并输出。最后输出第12号学生的所有信息。
阅读全文