使用Pythontkinter将学生信息排序
时间: 2023-11-19 12:13:33 浏览: 33
好的,我可以为您提供一个简单的示例代码,该代码使用Python tkinter库和sort函数来对学生信息进行排序。首先,您需要创建一个GUI窗口,用于输入学生信息并显示排序后的结果。以下是示例代码:
```python
from tkinter import *
from operator import itemgetter
# 创建Tkinter窗口
root = Tk()
root.title("学生信息排序")
# 创建标签和文本框
Label(root, text="姓名").grid(row=0, column=0)
name_entry = Entry(root)
name_entry.grid(row=0, column=1)
Label(root, text="年龄").grid(row=1, column=0)
age_entry = Entry(root)
age_entry.grid(row=1, column=1)
Label(root, text="成绩").grid(row=2, column=0)
score_entry = Entry(root)
score_entry.grid(row=2, column=1)
# 创建学生列表
students = []
# 添加学生信息
def add_student():
name = name_entry.get()
age = int(age_entry.get())
score = float(score_entry.get())
students.append((name, age, score))
name_entry.delete(0, END)
age_entry.delete(0, END)
score_entry.delete(0, END)
# 排序学生信息
def sort_students():
sorted_students = sorted(students, key=itemgetter(2), reverse=True)
for i in range(len(sorted_students)):
student = sorted_students[i]
Label(root, text=student[0]).grid(row=i+4, column=0)
Label(root, text=student[1]).grid(row=i+4, column=1)
Label(root, text=student[2]).grid(row=i+4, column=2)
# 创建按钮
add_button = Button(root, text="添加学生", command=add_student)
add_button.grid(row=3, column=0)
sort_button = Button(root, text="排序学生", command=sort_students)
sort_button.grid(row=3, column=1)
# 运行Tkinter窗口
root.mainloop()
```
在这个示例代码中,我们创建了一个包含三个字段(姓名,年龄和成绩)的学生信息列表,并且添加了两个按钮:一个用于添加学生信息,另一个用于对学生信息进行排序。当用户单击“添加学生”按钮时,我们从文本框中获取学生信息并将其添加到列表中。当用户单击“排序学生”按钮时,我们使用Python的sort函数对学生信息进行排序,并将排序后的结果显示在GUI窗口中。
请注意,我们使用了Python的itemgetter函数来指定按照哪个字段进行排序。在此示例中,我们按照成绩从高到低进行排序。您可以按照自己的需求更改此函数。