创建python源文件,并在其中编写学生成绩录入程序,具体如下:(1)将表中学生姓名,高数成绩及英语成绩依此输入至顺序表中。 (2)对上述同学,按高等数学成绩排序。 (3)对上述同学,按大学英语成绩排序。 (4)删除当前顺序表中第三位同学的所有信息
时间: 2024-06-09 22:04:39 浏览: 55
下面是一个简单的实现,使用了Python内置的列表(list)来实现顺序表:
```python
# 定义学生类
class Student:
def __init__(self, name, math_score, eng_score):
self.name = name
self.math_score = math_score
self.eng_score = eng_score
def __str__(self):
return f"{self.name}\t{self.math_score}\t{self.eng_score}"
# 定义一个函数,用于输入学生信息
def input_students():
students = []
while True:
name = input("请输入学生姓名(输入exit退出):")
if name == "exit":
break
math_score = float(input("请输入高等数学成绩:"))
eng_score = float(input("请输入大学英语成绩:"))
student = Student(name, math_score, eng_score)
students.append(student)
return students
# 定义一个函数,用于按高等数学成绩排序
def sort_by_math_score(students):
return sorted(students, key=lambda x: x.math_score)
# 定义一个函数,用于按大学英语成绩排序
def sort_by_eng_score(students):
return sorted(students, key=lambda x: x.eng_score)
# 定义一个函数,用于删除第三位同学的信息
def delete_third_student(students):
del students[2]
# 测试代码
students = input_students()
print("按高等数学成绩排序:")
for student in sort_by_math_score(students):
print(student)
print("按大学英语成绩排序:")
for student in sort_by_eng_score(students):
print(student)
delete_third_student(students)
print("删除第三位同学后的列表:")
for student in students:
print(student)
```
注意,上面的代码中使用了 lambda 表达式来指定按成绩排序的关键字,这是一个比较常用的技巧。此外,如果列表中的元素是对象,可以通过实现对象的 __str__ 方法来指定打印对象时的格式。
阅读全文