(1)创建一个学生类,包含学号,姓名,性别。(2)创建一个课程成绩类,包含课程名称和成绩。 (3)创建一个学生课程成绩类,包含学生类成员和课程类数组成员。 (4)可以生成学生,并且为学生创建课程成绩。 (5)输出指定科目分数最高和最低的学生课程成绩信息。 (6)输出指定学生的科目分数最高和最低分。
时间: 2024-03-12 15:48:48 浏览: 25
好的,我来逐步回答你的问题:
1. 创建一个学生类,包含学号,姓名,性别。
```python
class Student:
def __init__(self, id, name, gender):
self.id = id
self.name = name
self.gender = gender
```
2. 创建一个课程成绩类,包含课程名称和成绩。
```python
class CourseScore:
def __init__(self, course_name, score):
self.course_name = course_name
self.score = score
```
3. 创建一个学生课程成绩类,包含学生类成员和课程类数组成员。
```python
class StudentCourseScore:
def __init__(self, student, course_scores):
self.student = student
self.course_scores = course_scores
```
4. 可以生成学生,并且为学生创建课程成绩。
```python
student1 = Student("1", "Tom", "male")
course_score1 = CourseScore("Math", 90)
course_score2 = CourseScore("English", 85)
student_course_score1 = StudentCourseScore(student1, [course_score1, course_score2])
```
5. 输出指定科目分数最高和最低的学生课程成绩信息。
```python
course_name = "Math"
max_score = -1
min_score = 101
max_student = None
min_student = None
for student_score in student_course_score_list:
for course_score in student_score.course_scores:
if course_score.course_name == course_name:
if course_score.score > max_score:
max_score = course_score.score
max_student = student_score.student
if course_score.score < min_score:
min_score = course_score.score
min_student = student_score.student
print(f"The student with the highest score in {course_name} is {max_student.name}, with a score of {max_score}.")
print(f"The student with the lowest score in {course_name} is {min_student.name}, with a score of {min_score}.")
```
6. 输出指定学生的科目分数最高和最低分。
```python
student_name = "Tom"
max_score = -1
min_score = 101
max_course = None
min_course = None
for student_score in student_course_score_list:
if student_score.student.name == student_name:
for course_score in student_score.course_scores:
if course_score.score > max_score:
max_score = course_score.score
max_course = course_score.course_name
if course_score.score < min_score:
min_score = course_score.score
min_course = course_score.course_name
print(f"The highest score of {student_name} is {max_score} in {max_course}.")
print(f"The lowest score of {student_name} is {min_score} in {min_course}.")
```
希望这些代码能够帮到你!