diff --git a/pythonProject/.idea/inspectionProfiles/profiles_settings.xml b/pythonProject/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/pythonProject/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/pythonProject/.idea/misc.xml b/pythonProject/.idea/misc.xml new file mode 100644 index 0000000..0f6dba6 --- /dev/null +++ b/pythonProject/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/pythonProject/.idea/modules.xml b/pythonProject/.idea/modules.xml new file mode 100644 index 0000000..e15ec35 --- /dev/null +++ b/pythonProject/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/pythonProject/.idea/pythonProject.iml b/pythonProject/.idea/pythonProject.iml new file mode 100644 index 0000000..2c80e12 --- /dev/null +++ b/pythonProject/.idea/pythonProject.iml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/pythonProject/.idea/vcs.xml b/pythonProject/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/pythonProject/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/pythonProject/.idea/workspace.xml b/pythonProject/.idea/workspace.xml new file mode 100644 index 0000000..33b6d26 --- /dev/null +++ b/pythonProject/.idea/workspace.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1717051400789 + + + + \ No newline at end of file diff --git a/pythonProject/学生管理系统.py b/pythonProject/学生管理系统.py new file mode 100644 index 0000000..1b04752 --- /dev/null +++ b/pythonProject/学生管理系统.py @@ -0,0 +1,147 @@ +import tkinter as tk +from tkinter import messagebox + +window = tk.Tk() +window.title("学生信息管理系统") +window.geometry("1000x500") + + +# 学生管理系统 +class StudentSystem: + root: None + + def __init__(self): + self.root = None + self.student_list = [] + # 创建界面 + self.interface() + + # 创建界面 + def interface(self): + # 创建姓名输入框 + name_label = tk.Label(window, text="姓名:") + name_label.place(x=180, y=50) + self.name_entry = tk.Entry(window) + self.name_entry.place(x=230, y=50) + + # 创建性别输入框 + gender_label = tk.Label(window, text="性别:") + gender_label.place(x=180, y=100) + self.gender_entry = tk.Entry(window) + self.gender_entry.place(x=230, y=100) + + # 创建手机号输入框 + phone_label = tk.Label(window, text="手机号:") + phone_label.place(x=180, y=150) + self.phone_entry = tk.Entry(window) + self.phone_entry.place(x=230, y=150) + + # 添加按钮 + tk.Button(window, text="添加", width=8, relief="solid", command=self.add_student).place(x=100, y=200) + + # 删除按钮 + tk.Button(window, text="删除", width=8, relief="solid", command=self.del_student).place(x=200, y=200) + + # 修改按钮 + tk.Button(window, text="修改", width=8, relief="solid", command=self.modify_student).place(x=300, y=200) + + # 显示按钮 + tk.Button(window, text="显示", width=8, relief="solid", command=self.show_student).place(x=400, y=200) + + # 文字 + tk.Label(window, text="xxxx级软件工程x班 xxx").place(x=180, y=250) + + self.info_text = tk.Text(window) + self.info_text.place(x=0, y=280) + + # 学生信息类 + + class Student: + def __init__(self, name, gender, tel): + self.name = name + self.gender = gender + self.tel = tel + + # 检查输入是否为空 + + def is_input_empty(self, entry): + + return len(entry.get()) == 0 + + # 添加学生 + + def add_student(self): + if self.is_input_empty(self.name_entry) or self.is_input_empty(self.gender_entry) or self.is_input_empty( + self.phone_entry): + messagebox.showwarning("警告", "输入不能为空!") + return + + name = self.name_entry.get() + gender = self.gender_entry.get() + phone = self.phone_entry.get() + + student = self.Student(name, gender, phone) + self.student_list.append(student) + + self.name_entry.delete(0, tk.END) + self.gender_entry.delete(0, tk.END) + self.phone_entry.delete(0, tk.END) + + self.info_text.insert(tk.END, f"添加学生:\n姓名:{name}\n性别:{gender}\n手机号:{phone}\n\n") + + # 删除学生 + + def del_student(self): + if self.is_input_empty(self.name_entry): + messagebox.showwarning("警告", "请输入学生姓名!") + return + + name = self.name_entry.get() + + for student in self.student_list: + if student.name == name: + self.student_list.remove(student) + self.info_text.insert(tk.END, + f"删除学生:\n姓名:{student.name}\n性别:{student.gender}\n手机号:{student.tel}\n\n") + break + + self.name_entry.delete(0, tk.END) + + # 修改学生 + + def modify_student(self): + if self.is_input_empty(self.name_entry): + messagebox.showwarning("警告", "请输入学生姓名!") + return + + name = self.name_entry.get() + gender = self.gender_entry.get() + phone = self.phone_entry.get() + + for student in self.student_list: + if student.name == name: + student.gender = gender + student.tel = phone + self.info_text.insert(tk.END, + f"修改学生:\n姓名:{student.name}\n性别:{student.gender}\n手机号:{student.tel}\n\n") + break + + self.name_entry.delete(0, tk.END) + self.gender_entry.delete(0, tk.END) + self.phone_entry.delete(0, tk.END) + + # 显示学生 + def show_student(self): + self.info_text.delete(1.0, tk.END) # 清空文本框内容 + + if len(self.student_list) == 0: + self.info_text.insert(tk.END, "学生列表为空!") + else: + self.info_text.insert(tk.END, "学生列表:\n") + for student in self.student_list: + self.info_text.insert(tk.END, f"姓名:{student.name}\n性别:{student.gender}\n手机号:{student.tel}\n\n") + + +if __name__ == "__main__": + app = StudentSystem() + window.mainloop() \ No newline at end of file diff --git a/学生管理系统/__init__.py b/学生管理系统/__init__.py deleted file mode 100644 index 4a91635..0000000 --- a/学生管理系统/__init__.py +++ /dev/null @@ -1,152 +0,0 @@ -msg = """******************************** -欢迎使用学生管理系统 -请选择你想要进行的操作 -1.新建学生信息 -2.显示全部信息 -3.查询学生信息 -4.删除学生信息 -5.修改学生信息 - -0.退出系统 -********************************""" -student_info = [ - {"姓名": '张三','语文': 80,'数学': 80,'外语': 80,'总分': 240}, - {"姓名": '李四','语文': 80,'数学': 80,'外语': 80,'总分': 240}, -] - -account = input('请输入您的账号:') -password = input('请输入您的密码:') - -if account == 'guoshenghui' and password == '21412030118': - print('登陆成功,欢迎使用') - print(msg) #输出函数 - while True: #为真死循环 - word = input("请输入想要进行的操作:") - if word == '1': - print("新建学生信息") - name = input('请输入学生姓名:') - chinese = input('请输入语文分数:') - math = input('请输入数学分数:') - english = input('请输入外语分数:') - sum = int(chinese) + int(math) + int(english) - print(sum) - dit = { - '姓名': name, - '语文': chinese, - '数学': math, - '外语': english, - '总分': sum, - } - student_info.append(dit) - - elif word == '2': - - print("显示全部信息") - print('姓名\t\t语文\t\t数学\t\t外语\t\t总分') - for student in student_info: - - print( - student['姓名'] + '\t\t' + - str(student['语文'])+ '\t\t' + - str(student['数学'])+ '\t\t' + - str(student['外语'])+ '\t\t' + - str(student['总分'])+ '\t\t' - ) - - elif word == '3': - print("查询学生信息") - name = input('请输入您想要查询学生的姓名:') - for student in student_info: - if name == student['姓名']: - print('姓名\t\t语文\t\t数学\t\t外语\t\t总分') - print( - student['姓名'] + '\t\t' + - str(student['语文']) + '\t\t' + - str(student['数学']) + '\t\t' + - str(student['外语']) + '\t\t' + - str(student['总分']) + '\t\t' - ) - break - else: - print('没有该学生的信息') - - - elif word == '4': - print("删除学生信息") - name = input('请输入您想要删除学生的姓名:') - for student in student_info: - if name == student['姓名']: - print('姓名\t\t语文\t\t数学\t\t外语\t\t总分') - print( - student['姓名'] + '\t\t' + - str(student['语文']) + '\t\t' + - str(student['数学']) + '\t\t' + - str(student['外语']) + '\t\t' + - str(student['总分']) + '\t\t' - ) - result = input('是否确认删除该学生(y/n):') - if result == 'y': - student_info.remove(student) - elif result == 'n': - continue - break - else: - print('没有该学生信息,请确认信息在删除') - - elif word == '5': - print("修改学生信息") - name = input('请输入您想要修改学生的姓名:') - for student in student_info: - if name == student['姓名']: - print('姓名\t\t语文\t\t数学\t\t外语\t\t总分') - print( - student['姓名'] + '\t\t' + - str(student['语文']) + '\t\t' + - str(student['数学']) + '\t\t' + - str(student['外语']) + '\t\t' + - str(student['总分']) + '\t\t' - ) - result = input('是否确认修改该学生(y/n):') - if result == 'y': - name = input('请输入学生姓名:') - chinese = input('请输入语文分数:') - math = input('请输入数学分数:') - english = input('请输入外语分数:') - sum = int(chinese) + int(math) + int(english) - print(sum) - student['姓名'] = name - student['语文'] = chinese - student['数学'] = math - student['外语'] = english - student['总分'] = sum - elif result == 'n': - continue - break - - else: - print('未找到该学生信息,请先确认该学生是否存在再进行修改') - - elif word == '0': - print("退出系统,欢迎下次使用") - break -elif account == 'xs' and password == '12345': - while True: - name = input('请输入您想要查询学生的姓名(输入0退出)') - if name == '0': - break - for student in student_info: - if name == student['姓名']: - print('姓名\t\t语文\t\t数学\t\t外语\t\t总分') - print( - student['姓名'] + '\t\t' + - str(student['语文']) + '\t\t' + - str(student['数学']) + '\t\t' + - str(student['外语']) + '\t\t' + - str(student['总分']) + '\t\t' - ) - break - else: - print('没有该学生的信息') - -else: - print('账号或者密码输入错误') \ No newline at end of file