创建文件 ex2_02.py,并在其中编写学生成绩录入程序,具体如下(1)将表中学生姓名,高数成绩及英语成绩依此输入至顺序表中。(2)对上述同学,按高等数学成绩排序。 2、对上述同学,按大学英语成绩排序。 3、删除当前顺序表中第三位同学的所有信息。
时间: 2024-09-14 16:13:20 浏览: 65
创建一个名为`ex2_02.py`的Python文件,我们可以使用列表(list)作为顺序表来实现这个简单的学生成绩录入、排序以及删除功能。以下是对应的代码示例:
```python
# 定义一个空的学生列表
students = []
def input_student_data():
while True:
name = input("请输入学生姓名(输入'q'退出):")
if name.lower() == 'q':
break
num1 = float(input("请输入该学生的高数成绩:"))
num2 = float(input("请输入该学生的英语成绩:"))
students.append((name, num1, num2))
print("学生数据已录入。")
def sort_students_by_math():
students.sort(key=lambda x: x[1], reverse=True)
print("按照高数成绩排序后的学生:")
for student in students:
print(f"{student[0]}: 高数{student[1]}, 英语{student[2]}")
def sort_students_by_english():
students.sort(key=lambda x: x[2])
print("按照英语成绩排序后的学生:")
for student in students:
print(f"{student[0]}: 高数{student[1]}, 英语{student[2]}")
def delete_third_student():
if len(students) >= 3:
del students[2]
print("第三位同学的信息已被删除。")
else:
print("顺序表中只有两位同学,无法删除。")
if __name__ == "__main__":
input_student_data()
sort_students_by_math()
sort_students_by_english()
delete_third_student()
```
在这个程序中,我们首先通过`input_student_data()`函数从用户那里获取学生姓名、高数成绩和英语成绩,然后分别实现了按高数成绩和英语成绩排序的功能,最后通过`delete_third_student()`函数删除了当前顺序表中的第三位同学的信息。
运行这段代码,你可以按照指定的方式操作学生成绩数据。注意,在实际应用中,为了增强用户体验和错误处理,可以添加更多的验证和提示。
阅读全文