学生信息管理系统python课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生信息管理系统是一个常见的课程设计项目,旨在帮助学生掌握基本的软件开发技能。以下是一个基于Python的学生信息管理系统的示例代码,供您参考:

python复制代码

# 导入必要的模块

from tkinter import Tk, Label, Entry, Button, Listbox, Message

from tkinter.filedialog import askopenfilename

import os

# 定义学生类

class Student:

def __init__(self, id, name, age, gender, major):

self.id = id

= name

self.age = age

self.gender = gender

self.major = major

# 定义学生信息管理系统类

class StudentInfoSystem:

def __init__(self, master):

self.master = master

self.master.title("学生信息管理系统")

self.students = []

self.student_id = 0

# 创建标签和输入框,用于添加学生信息

Label(master, text="学号").grid(row=0)

Label(master, text="姓名").grid(row=1)

Label(master, text="年龄").grid(row=2)

Label(master, text="性别").grid(row=3)

Label(master, text="专业").grid(row=4)

Entry(master).grid(row=0, column=1)

Entry(master).grid(row=1, column=1)

Entry(master).grid(row=2, column=1)

Entry(master).grid(row=3, column=1)

Entry(master).grid(row=4, column=1)

Button(master, text="添加", command=self.add_student).grid(row=5, column=1)

# 创建标签和列表框,用于显示学生信息列表

Label(master, text="学生信息列表").grid(row=6)

self.listbox = Listbox(master)

self.listbox.grid(row=7, columnspan=2)

Button(master, text="删除选中项", command=self.delete_selected_student).grid(row=8, column=0) Button(master, text="保存数据到文件", command=self.save_to_file).grid(row=8, column=1)

Button(master, text="从文件加载数据", command=self.load_from_file).grid(row=9, columnspan=2)

# 添加学生信息到列表框中

def add_student(self):

id = self.get_id()

name = self.get_entry("姓名").get().strip()

age = self.get_entry("年龄").get().strip()

gender = self.get_entry("性别").get().strip()

major = self.get_entry("专业").get().strip()

student = Student(id, name, age, gender, major)

self.students.append(student)

self.listbox.insert(tkinter.END,

f"{student.id}\t{}\t{student.age}\t{student.gender}\t{stu dent.major}")

self.student_id += 1

# 从输入框中获取值并返回结果,如果输入框为空则返回默认

值(这里是0)

def get_id(self):

id = self.get_entry("学号").get().strip()

if not id: id = 0

return int(id) + self.student_id + 1 # 自增学号并确保是唯一的学号

# 从输入框中获取值并返回结果,如果输入框为空则返回默认值(这里是空字符串)

def get_entry(self, name):

entry = towidget(f"{name}.grid()") # 通过名称获取输入框组件对象

return entry # 返回输入框组件对象,可以直接调用其方法获取值等操作

# 从列表框中删除选中项并更新列表框内容和学生信息列表,同时删除对应的学生信息对象(如果存在)

def delete_selected_student(self):

index = self.listbox.curselection() # 获取选中项的索引值列表,如果有选中项的话只有一个索引值0,如果没有选中项则返回空列表[],注意这里返回的是索引值列表而不是学生对象列表或学生对象本身。因此,我们可以通过索引

相关文档
最新文档