python实现大学人员管理系统

yizhihongxing

Python实现大学人员管理系统完整攻略

1. 确定需求

在实现大学人员管理系统之前,需要明确该系统的需求及功能,包括但不限于:

  • 管理员登录系统的权限验证
  • 管理员可以对学生、教师、课程进行管理(增删改查)
  • 学生可以查询选课情况、个人信息等
  • 教师可以查询授课情况、学生信息等

2. 设计数据库结构

为了存储和管理系统中的数据,需要设计一个数据库结构,包括表的设计、字段的定义等。下面是一个简单的示例:

学生表

字段名 类型 说明
id int 学生ID(唯一主键)
name varchar(50) 学生姓名
sex varchar(10) 学生性别
age int 学生年龄
major varchar(50) 学生专业

教师表

字段名 类型 说明
id int 教师ID(唯一主键)
name varchar(50) 教师姓名
sex varchar(10) 教师性别
age int 教师年龄
course varchar(50) 教师授课科目

课程表

字段名 类型 说明
id int 课程ID(唯一主键)
name varchar(50) 课程名称
teacher_id int 任课教师ID

选课表

字段名 类型 说明
id int 选课ID(唯一主键)
student_id int 学生ID
course_id int 课程ID

3. 编写代码

3.1. 管理员登录

管理员登录需要输入正确的用户名和密码,这里使用一个简单的示例来演示,如下:

username = input('请输入用户名:')
password = input('请输入密码:')
if username == 'admin' and password == '123456':
    print('登录成功')
else:
    print('用户名或密码错误')

3.2. 学生管理

学生管理包括增删改查四个功能,以下是一个简单的示例:

# 添加学生
def add_student(conn):
    cur = conn.cursor()
    name = input('请输入学生姓名:')
    sex = input('请输入学生性别:')
    age = input('请输入学生年龄:')
    major = input('请输入学生专业:')
    cur.execute("INSERT INTO students (name, sex, age, major) VALUES (?, ?, ?, ?)", (name, sex, age, major))
    conn.commit()
    print('学生添加成功')

# 删除学生
def delete_student(conn):
    cur = conn.cursor()
    id = input('请输入要删除的学生ID:')
    cur.execute("DELETE FROM students WHERE id=?", str(id))
    conn.commit()
    print('学生删除成功')

# 修改学生信息
def update_student(conn):
    cur = conn.cursor()
    id = input('请输入要修改的学生ID:')
    name = input('请输入新的学生姓名:')
    sex = input('请输入新的学生性别:')
    age = input('请输入新的学生年龄:')
    major = input('请输入新的学生专业:')
    cur.execute("UPDATE students SET name=?, sex=?, age=?, major=? WHERE id=?", (name, sex, age, major, str(id)))
    conn.commit()
    print('学生信息修改成功')

# 查询学生信息
def query_student(conn):
    cur = conn.cursor()
    cur.execute("SELECT * FROM students")
    rows = cur.fetchall()
    for row in rows:
        print(row)

3.3. 教师管理

教师管理也包括增删改查四个功能,以下是一个简单的示例:

# 添加教师
def add_teacher(conn):
    cur = conn.cursor()
    name = input('请输入教师姓名:')
    sex = input('请输入教师性别:')
    age = input('请输入教师年龄:')
    course = input('请输入教师授课科目:')
    cur.execute("INSERT INTO teachers (name, sex, age, course) VALUES (?, ?, ?, ?)", (name, sex, age, course))
    conn.commit()
    print('教师添加成功')

# 删除教师
def delete_teacher(conn):
    cur = conn.cursor()
    id = input('请输入要删除的教师ID:')
    cur.execute("DELETE FROM teachers WHERE id=?", str(id))
    conn.commit()
    print('教师删除成功')

# 修改教师信息
def update_teacher(conn):
    cur = conn.cursor()
    id = input('请输入要修改的教师ID:')
    name = input('请输入新的教师姓名:')
    sex = input('请输入新的教师性别:')
    age = input('请输入新的教师年龄:')
    course = input('请输入新的教师授课科目:')
    cur.execute("UPDATE teachers SET name=?, sex=?, age=?, course=? WHERE id=?", (name, sex, age, course, str(id)))
    conn.commit()
    print('教师信息修改成功')

# 查询教师信息
def query_teacher(conn):
    cur = conn.cursor()
    cur.execute("SELECT * FROM teachers")
    rows = cur.fetchall()
    for row in rows:
        print(row)

3.4. 课程管理和选课管理

课程表和选课表的增删改查操作与学生表和教师表类似,这里就不再赘述。

4. 界面设计

界面设计是大学人员管理系统比较重要的一块,良好的界面设计能够提高用户的使用体验。在设计界面时,可以使用Python中的GUI库,例如PyQt5、wxPython、Tkinter等,以Tkinter为例,示例如下:

from tkinter import *

root = Tk()
root.title('大学人员管理系统')
root.geometry('450x300')

frame = Frame(root)
frame.pack()

Label(frame, text='欢迎来到大学人员管理系统', font=('宋体', 18)).pack(pady=10)

Button(frame, text='学生管理', font=('宋体', 16), width=12, height=2).pack(pady=10)
Button(frame, text='教师管理', font=('宋体', 16), width=12, height=2).pack(pady=10)
Button(frame, text='课程管理', font=('宋体', 16), width=12, height=2).pack(pady=10)
Button(frame, text='选课管理', font=('宋体', 16), width=12, height=2).pack(pady=10)

root.mainloop()

5. 总结

以上是Python实现大学人员管理系统的完整攻略,其中涉及到了功能需求分析、数据库设计、代码编写、界面设计等方面。在实际开发中,需要根据具体需求进行相应的修改和优化,以实现更完善的大学人员管理系统。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现大学人员管理系统 - Python技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • django注册用邮箱发送验证码的实现

    下面是”Django注册用邮箱发送验证码的实现”的完整攻略: 步骤一:安装所需模块 第一步是安装必要的模块。我们需要安装django,django-extensions和django-crispy-forms。可以通过pip安装这些模块,如下所示: pip install django django-extensions django-crispy-form…

    人工智能概览 2023年5月25日
    00
  • RPA机器人来了,财务人还需要辛苦卖力吗?

    RPA机器人来了,财务人还需要辛苦卖力吗? 什么是RPA机器人 RPA全称为“Robotic Process Automation”,中文翻译为“机器人流程自动化”,是将机器人应用于流程自动化的一种技术。通俗的说,RPA机器人就是能够执行人类处理业务的重复性,低脑力的操作。 RPA机器人在财务领域的应用 在财务领域,RPA机器人可以应用于一系列重复性业务,如…

    人工智能概览 2023年5月25日
    00
  • python发送arp欺骗攻击代码分析

    讲解”Python发送ARP欺骗攻击代码分析”的完整攻略,包含以下主要步骤: 一、ARP欺骗攻击原理 ARP协议是互联网中非常基础的一个协议,主要用于实现IP地址和MAC地址的对应,其中,IP地址是网络层使用的地址,MAC地址是数据链路层使用的地址。ARP欺骗攻击是指攻击者伪装自己的MAC地址,让网络中的其他设备将自己的数据发送给攻击者。攻击者可以通过ARP…

    人工智能概论 2023年5月25日
    00
  • go通过benchmark对代码进行性能测试详解

    Go通过Benchmark对代码进行性能测试详解 前言 性能是软件开发中的一个重要指标,因为良好的性能可以提高软件的运行效率,增强用户体验。在Go语言中,有一种叫做benchmark的工具可以用来测试代码在特定条件下的性能表现。在本文中,我们将介绍如何使用Go的benchmark工具进行性能测试。 创建Benchmark函数 在Go语言中,一个benchma…

    人工智能概论 2023年5月25日
    00
  • tensorflow转换ckpt为savermodel模型的实现

    TensorFlow是一个强大的深度学习框架,其中包含了许多常用的工具和功能,其中转换 ckpt 文件为 saver 模型就是一个很常见的需求,下面是这个过程的完整攻略。 步骤一:加载 ckpt 模型文件 要加载 ckpt 模型文件,你需要在代码中初始化 Graph 和 Session。可以使用 tf.train.import_meta_graph() 函数…

    人工智能概览 2023年5月25日
    00
  • 基于PyQt5制作一个截图翻译工具

    制作一个基于PyQt5的截图翻译工具,可以分为以下几个步骤: 1. 搭建PyQt5开发环境 首先需要安装Python和PyQt5的开发环境。具体步骤可以参考PyQt5官方文档或者其他相关的资源。 2. 创建界面 使用PyQt5创建GUI界面,包括截图区域和翻译结果区域。可以参考以下代码示例: import sys from PyQt5.QtWidgets i…

    人工智能概论 2023年5月25日
    00
  • Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境

    下面我将为大家详细讲解一下“Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境”的攻略: 准备工作 在开始搭建之前,我们需要确保准备好以下工作: 安装了 Homebrew,可以使用命令 brew –version 检查是否已安装。 确定自己需要的 PHP 版本,并记录下来。 选择自己需要的数据库,并确保安装了相应的数据库服务和客户端。 安装 …

    人工智能概论 2023年5月25日
    00
  • node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】

    下面我来详细讲解“node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】”的完整攻略。 环境准备 在阿里云服务器上,我们首先需要安装好 Node 和 MongoDB。在 Ubuntu 下,安装命令如下: 安装 Node.js $ curl -sL https://deb.nodesource.com/setup_12.x | sudo -…

    人工智能概论 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部