python实现大学人员管理系统

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日

相关文章

  • 如何优雅的进行Spring整合MongoDB详解

    如何优雅地进行Spring整合MongoDB详解 本文将为您详细讲解如何优雅地进行Spring整合MongoDB,包括安装配置MongoDB和Spring,编写相应的Java代码实现数据的增删改查操作。 准备工作 在进行Spring整合MongoDB前,需要先进行准备工作,具体包括以下几个步骤: 安装MongoDB:MongoDB官网可以下载到最新版本的Mo…

    人工智能概论 2023年5月25日
    00
  • Android 代码一键实现银行卡绑定功能

    Android 代码一键实现银行卡绑定功能攻略 前言 实现银行卡绑定功能,需要考虑的因素很多,例如:用户信息,银行信息,银行卡信息,第三方授权等等。在 Android 开发中,处理这些信息可以选择各种方式,本文将介绍一种根据实际应用场景,通过调用第三方库快速实现银行卡绑定功能的方法。 主要流程 集成第三方库 实现授权流程 实现银行卡信息填写功能 关联用户账户…

    人工智能概览 2023年5月25日
    00
  • Ubuntu 搭建LNMP环境图文教程 安装Nginx服务器

    Ubuntu 搭建 LNMP 环境图文教程 前言 LNMP是使用Linux+Nginx+MySQL+PHP构建的Web开发环境。Ubuntu是一个广泛使用的Linux操作系统。搭建LNMP环境在开发Web应用中非常常见。本文将介绍如何在Ubuntu中搭建LNMP环境,并安装Nginx服务器。 准备工作 在开始搭建环境之前,需要确保系统需要更新到最新的软件版本…

    人工智能概览 2023年5月25日
    00
  • OpenCV2学习笔记之视频流读取与处理

    OpenCV2学习笔记之视频流读取与处理 OpenCV是一种跨平台计算机视觉库,可用于开发实时计算机视觉应用程序。本文将介绍如何使用OpenCV2读取和处理视频流。 1. 安装和配置OpenCV2 首先,你需要安装OpenCV2。可以通过包管理器(如apt-get,yum等)进行安装,也可以从OpenCV官方网站进行手动安装。为了使用OpenCV在Pytho…

    人工智能概论 2023年5月24日
    00
  • 轻量级的Web框架Flask 中模块化应用的实现

    下面是详细讲解“轻量级的Web框架Flask 中模块化应用的实现”的完整攻略。 简介 Flask 是一个轻量级的 Python Web 框架,其灵活的设计可以让开发者更加快速、简单地构建 Web 应用程序。在使用 Flask 进行 Web 开发时,模块化的应用是一个很重要的技术,可以让应用更加易于维护和扩展。 模块化应用可以将应用拆分为多个小的模块,每个模块…

    人工智能概论 2023年5月25日
    00
  • Jenkins集成Gitlab实现自动化部署的全过程记录

    Jenkins集成Gitlab实现自动化部署的全过程记录 Jenkins是一款开源的自动化构建工具,可以实现自动化部署、测试和构建。Gitlab是一款开源的git仓库管理工具。通过将Jenkins与Gitlab相结合,可以实现自动化部署的全过程记录。本文将详细说明如何在Jenkins中集成Gitlab,并实现自动化部署的全过程记录。 前置条件 在开始之前,需…

    人工智能概论 2023年5月25日
    00
  • python中24小时制转换为12小时制的方法

    标题:Python中24小时制转换为12小时制的方法 在Python中,对于时间的表示,我们通常采用24小时制,也就是小时数范围是0~23。但是,在一些场合下,我们需要采用12小时制,也就是小时数范围是1~12,上午或下午根据具体时间来判断。本文将详细介绍如何将Python中的24小时制时间转换为12小时制时间。 代码实现 方法1:使用datetime模块 …

    人工智能概论 2023年5月25日
    00
  • tensorflow使用CNN分析mnist手写体数字数据集

    TensorFlow使用CNN分析MNIST手写数字数据集的完整攻略 本文将介绍如何使用TensorFlow和卷积神经网络(CNN)来分析MNIST手写数字数据集。本文重点介绍以下内容: MNIST数据集的介绍 构建CNN模型 训练模型 测试模型 MNIST数据集的介绍 MNIST数据集是一个手写数字数据集,包含60000张训练图像和10000张测试图像。每…

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