帮忙用python做一份学生宿舍管理系统,并功能包括录入宿舍入住信息(姓名、宿舍号),查看(从excel文件读取)、修改、查询、删除入住信息;宿舍入住信息存储在excel文件中。
时间: 2024-03-19 16:45:43 浏览: 65
好的,我可以为您提供一份Python学生宿舍管理系统的代码,具体实现如下:
```python
import tkinter as tk
from tkinter import messagebox
import xlwt
import xlrd
import os
class DormitoryManagementSystem:
def __init__(self, master):
self.master = master
self.master.title("学生宿舍管理系统")
self.master.geometry("450x350")
# 定义控件
self.label1 = tk.Label(self.master, text="姓名:")
self.label2 = tk.Label(self.master, text="宿舍号:")
self.entry1 = tk.Entry(self.master)
self.entry2 = tk.Entry(self.master)
self.button1 = tk.Button(self.master, text="录入", command=self.insert_data)
self.button2 = tk.Button(self.master, text="查看", command=self.view_data)
self.button3 = tk.Button(self.master, text="修改", command=self.edit_data)
self.button4 = tk.Button(self.master, text="查询", command=self.search_data)
self.button5 = tk.Button(self.master, text="删除", command=self.delete_data)
# 定义布局
self.label1.grid(row=0, column=0, pady=10)
self.label2.grid(row=1, column=0, pady=10)
self.entry1.grid(row=0, column=1, pady=10)
self.entry2.grid(row=1, column=1, pady=10)
self.button1.grid(row=2, column=0, padx=10, pady=10)
self.button2.grid(row=2, column=1, padx=10, pady=10)
self.button3.grid(row=3, column=0, padx=10, pady=10)
self.button4.grid(row=3, column=1, padx=10, pady=10)
self.button5.grid(row=4, column=0, columnspan=2, padx=10, pady=10)
# 创建excel文件
if not os.path.exists("dormitory.xls"):
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet("Sheet1")
worksheet.write(0, 0, "姓名")
worksheet.write(0, 1, "宿舍号")
workbook.save("dormitory.xls")
# 录入数据
def insert_data(self):
name = self.entry1.get()
dormitory = self.entry2.get()
if name == "" or dormitory == "":
messagebox.showwarning("警告", "姓名和宿舍号不能为空")
return
workbook = xlrd.open_workbook("dormitory.xls")
worksheet = workbook.sheet_by_index(0)
rows = worksheet.nrows
for i in range(rows):
if name == worksheet.cell_value(i, 0):
messagebox.showwarning("警告", "该学生已经入住")
return
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet("Sheet1")
worksheet.write(0, 0, "姓名")
worksheet.write(0, 1, "宿舍号")
worksheet.write(rows, 0, name)
worksheet.write(rows, 1, dormitory)
workbook.save("dormitory.xls")
messagebox.showinfo("提示", "录入成功")
self.entry1.delete(0, "end")
self.entry2.delete(0, "end")
# 查看数据
def view_data(self):
os.system("start dormitory.xls")
# 修改数据
def edit_data(self):
name = self.entry1.get()
dormitory = self.entry2.get()
if name == "" or dormitory == "":
messagebox.showwarning("警告", "姓名和宿舍号不能为空")
return
workbook = xlrd.open_workbook("dormitory.xls")
worksheet = workbook.sheet_by_index(0)
rows = worksheet.nrows
for i in range(rows):
if name == worksheet.cell_value(i, 0):
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet("Sheet1")
worksheet.write(0, 0, "姓名")
worksheet.write(0, 1, "宿舍号")
for j in range(rows):
if j == i:
worksheet.write(j, 0, name)
worksheet.write(j, 1, dormitory)
else:
worksheet.write(j, 0, worksheet.cell_value(j, 0))
worksheet.write(j, 1, worksheet.cell_value(j, 1))
workbook.save("dormitory.xls")
messagebox.showinfo("提示", "修改成功")
self.entry1.delete(0, "end")
self.entry2.delete(0, "end")
return
messagebox.showwarning("警告", "该学生未入住")
# 查询数据
def search_data(self):
name = self.entry1.get()
if name == "":
messagebox.showwarning("警告", "姓名不能为空")
return
workbook = xlrd.open_workbook("dormitory.xls")
worksheet = workbook.sheet_by_index(0)
rows = worksheet.nrows
for i in range(rows):
if name == worksheet.cell_value(i, 0):
messagebox.showinfo("查询结果", "宿舍号为:" + worksheet.cell_value(i, 1))
self.entry1.delete(0, "end")
self.entry2.delete(0, "end")
return
messagebox.showwarning("警告", "该学生未入住")
# 删除数据
def delete_data(self):
name = self.entry1.get()
if name == "":
messagebox.showwarning("警告", "姓名不能为空")
return
workbook = xlrd.open_workbook("dormitory.xls")
worksheet = workbook.sheet_by_index(0)
rows = worksheet.nrows
for i in range(rows):
if name == worksheet.cell_value(i, 0):
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet("Sheet1")
worksheet.write(0, 0, "姓名")
worksheet.write(0, 1, "宿舍号")
for j in range(rows):
if j != i:
worksheet.write(j, 0, worksheet.cell_value(j, 0))
worksheet.write(j, 1, worksheet.cell_value(j, 1))
workbook.save("dormitory.xls")
messagebox.showinfo("提示", "删除成功")
self.entry1.delete(0, "end")
self.entry2.delete(0, "end")
return
messagebox.showwarning("警告", "该学生未入住")
if __name__ == "__main__":
root = tk.Tk()
app = DormitoryManagementSystem(root)
root.mainloop()
```
这段代码实现了录入宿舍入住信息、查看、修改、查询、删除入住信息的功能,并将宿舍入住信息存储在名为dormitory.xls的Excel文件中。可以通过Tkinter库来进行图形界面的设计和实现,并使用xlrd和xlwt库来进行Excel文件的读写操作。您可以在这份代码的基础上进行进一步的修改和优化,以满足您的具体需求。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)