用python写出一段学生信息管理系统,可实现可视化操作,加上注释。
时间: 2024-03-07 14:50:29 浏览: 59
好的,以下是一段用Python实现的学生信息管理系统,基于tkinter实现可视化操作,注释在代码中:
```python
import tkinter as tk
from tkinter import ttk
# 创建学生列表,存储学生信息
students = []
# 定义添加学生信息的函数
def add_student():
# 获取输入框中的学生信息
name = name_entry.get()
age = age_entry.get()
gender = gender_combobox.get()
# 将学生信息添加到列表中
students.append({"name": name, "age": age, "gender": gender})
# 清空输入框
name_entry.delete(0, tk.END)
age_entry.delete(0, tk.END)
gender_combobox.set("Male")
# 更新学生信息列表
update_student_list()
# 定义更新学生信息列表的函数
def update_student_list():
# 清空学生信息列表
student_list.delete(*student_list.get_children())
# 遍历学生列表,将学生信息添加到列表中
for student in students:
name = student["name"]
age = student["age"]
gender = student["gender"]
student_list.insert("", tk.END, values=(name, age, gender))
# 创建主界面
root = tk.Tk()
root.title("Student Management System")
# 创建输入框和按钮
name_label = ttk.Label(root, text="Name:")
name_label.grid(row=0, column=0, padx=5, pady=5)
name_entry = ttk.Entry(root)
name_entry.grid(row=0, column=1, padx=5, pady=5)
age_label = ttk.Label(root, text="Age:")
age_label.grid(row=1, column=0, padx=5, pady=5)
age_entry = ttk.Entry(root)
age_entry.grid(row=1, column=1, padx=5, pady=5)
gender_label = ttk.Label(root, text="Gender:")
gender_label.grid(row=2, column=0, padx=5, pady=5)
gender_combobox = ttk.Combobox(root, values=["Male", "Female"])
gender_combobox.grid(row=2, column=1, padx=5, pady=5)
gender_combobox.set("Male")
add_button = ttk.Button(root, text="Add", command=add_student)
add_button.grid(row=3, column=0, padx=5, pady=5)
# 创建学生信息列表
student_list = ttk.Treeview(root, columns=("name", "age", "gender"), show="headings")
student_list.heading("name", text="Name")
student_list.heading("age", text="Age")
student_list.heading("gender", text="Gender")
student_list.grid(row=4, column=0, columnspan=2, padx=5, pady=5)
# 运行主界面
root.mainloop()
```
这段代码实现了一个简单的学生信息管理系统,包括添加学生信息和展示学生信息两个功能。用户可以在界面上输入学生姓名、年龄和性别,然后点击添加按钮将学生信息添加到系统中。系统会将所有学生信息展示在一个表格中,包括姓名、年龄和性别。用户可以在表格中查看已经添加的学生信息。
阅读全文