学员健康管理系统 大作业

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 学员健康管理系统 大作业

学员健康管理系统 大作业

欢迎阅读本篇博客,我们将介绍如何优化一个基于 Python 和 MySQL 的用户管理系统。该系统旨在提供管理员和普通用户角色的功能,并包括用户管理、体检报告记录、医学知识库等功能。通过本指南,您将了解系统的重点功能以及如何结合代码进行解释。

1. 数据库连接

首先,我们使用 pymysql 模块来连接 MySQL 数据库。连接数据库是系统运行的基础,因此这一步尤为重要。

import pymysql

# 连接数据库
conn = pymysql.connect(
    host='localhost',
    user='root',
    port=3306,
    password='12345678',
    database='users'
)

2. 登录功能

用户可以通过输入学号和密码进行登录验证。系统将查询数据库以验证用户凭据的有效性,并根据结果跳转到相应的菜单页面。

def login():
    student_number = input("请输入学号: ")
    password = input("请输入密码: ")

    # 查询数据库中是否存在该用户
    sql = "SELECT * FROM users WHERE student_number = %s AND password = %s"
    cursor.execute(sql, (student_number, password))
    result = cursor.fetchone()
    if result:
        print("登录成功!")
        # 根据用户信息跳转到不同的方法
        if result[0] == 0 or result[0] == '0':
            admin_menu(result[0])
        else:
            user_menu(result[0])
    else:
        print("用户名或密码错误!")
        login()

3. 管理员菜单

管理员菜单提供了用户管理功能,包括修改用户密码、删除用户、添加用户等。管理员可以根据需要执行相应的操作。

def admin_menu(user):
    print(f"欢迎{user}管理员!")
    while True:
        print("请选择功能:")
        print("1. 用户管理")
        print("0. 退出")

        choice = input("请输入选项:")

        if choice == '1':
            student_manager(user)
        elif choice == '0':
            break
        else:
            print("无效选项,请重新输入!")

4. 普通用户菜单

普通用户菜单提供了学员区队、学员信息、体检项目、体检报告、医学知识库等功能选项。用户可以根据需要选择相应的功能进行操作。

def user_menu(user):
    print(f"欢迎{user}用户!")

    while True:
        print("请选择功能:")
        print("1. 学员区队")
        print("2. 学员信息")
        print("3. 体检项目")
        print("4. 体检报告")
        print("5. 医学知识库")
        print("6. 密码修改")
        print("0. 退出")

        choice = input("请输入选项:")

        if choice == '1':
            student_team(user)
        elif choice == '2':
            student_info(user)
        elif choice == '3':
            health_exam(user)
        elif choice == '4':
            health_report(user)
        elif choice == '5':
            medical_knowledge()
        elif choice == '6':
            password_change(user)
        elif choice == '0':
            break
        else:
            print("无效选项,请重新输入!")

下面是学院健康管理系统的完整代码:

import pymysql

# 连接数据库
conn = pymysql.connect(
    host='localhost',
    user='root',
    port=3306,
    password='12345678',
    database='users'
)

# 创建游标对象
cursor = conn.cursor()
def login():
    student_number = input("请输入学号: ")
    password = input("请输入密码: ")

    # 查询数据库中是否存在该用户
    sql = "SELECT * FROM users WHERE student_number = %s AND password = %s"
    cursor.execute(sql, (student_number, password))
    result = cursor.fetchone()
    if result:
        print("登录成功!")
        # 根据用户信息跳转到不同的方法
        if result[0] == 0 or result[0] == '0':
            admin_menu(result[0])
        else:
            user_menu(result[0])
    else:
        print("用户名或密码错误!")
        login()

def admin_menu(user):
    print(f"欢迎{user}管理员!")
    # 在这里实现管理员菜单的功能

    while True:
        print("请选择功能:")
        print("1. 用户管理")
        print("0. 退出")

        choice = input("请输入选项:")

        if choice == '1':
            student_manger(user)
        elif choice == '0':
            break
        else:
            print("无效选项,请重新输入!")
def student_manger(user):

    sql = "SELECT * FROM users "
    cursor.execute(sql,)
    results = cursor.fetchall()

    if results:
        print("用户信息如下:")
        for row in results:
            print(f"账号: {row[0]}  密码: {row[1]}\n")
        while True:
            print("请选择功能:")
            print("1. 修改用户")
            print("2. 删除用户")
            print("3. 增加用户")
            print("0. 退出")

            choice = input("请输入选项:")

            if choice == '1':
                student_change()
            elif choice == '2':
                student_delete()
            elif choice == '3':
                student_add()
            elif choice == '0':
                break
            else:
                print("无该功能!")
    else:
        print("无用户!")
def student_add():
    print("增加用户")
    # 在这里实现体检报告功能的代码
    exam_name = input("请输入用户名:")
    exam_password = input("请输入密码:")
    sql = "SELECT * FROM users where student_number = %s "
    cursor.execute(sql, (exam_name, ))
    results = cursor.fetchall()
    if results:
        print("用户已存在")
    else:
        sql = "INSERT INTO users (student_number, password) VALUES (%s, %s)"
        cursor.execute(sql, (exam_name, exam_password))
        conn.commit()
        print("添加完毕")


def student_change():
    print("用户修改")
    # 在这里实现体检报告功能的代码
    exam_result = input("请输入修改用户名:")
    sql = "SELECT * FROM users where student_number = %s "
    cursor.execute(sql, (exam_result,))
    results = cursor.fetchall()
    if results:
        password_result = input("请输入修改密码:")
        sql = "UPDATE users SET password = %s WHERE student_number = %s"
        cursor.execute(sql, (password_result,exam_result,))
        conn.commit()
        print("修改成功")
    else:
        print("该用户不存在")
def student_delete():
    print("用户删除")
    # 在这里实现体检报告功能的代码
    exam_result = input("请输入删除用户名:")
    sql = "SELECT * FROM users where student_number = %s "
    cursor.execute(sql, (exam_result,))
    results = cursor.fetchall()
    if results:
        sql = "DELETE FROM users where  student_number = %s "
        cursor.execute(sql, (exam_result,))
        conn.commit()
        print("删除成功")
    else:
        print("该用户不存在")
def user_menu(user):
    print(f"欢迎{user}用户!")

    while True:
        print("请选择功能:")
        print("1. 学员区队")
        print("2. 学员信息")
        print("3. 体检项目")
        print("4. 体检报告")
        print("5. 医学知识库")
        print("6. 密码修改")
        print("0. 退出")

        choice = input("请输入选项:")

        if choice == '1':
            student_team(user)
        elif choice == '2':
            student_info(user)
        elif choice == '3':
            health_exam(user)
        elif choice == '4':
            health_report(user)
        elif choice == '5':
            medical_knowledge()
        elif choice == '6':
            password_change(user)
        elif choice == '0':
            break
        else:
            print("无效选项,请重新输入!")

def student_team(user):
    print("学员区队功能")
    # 在这里实现学员区队功能的代码
    sql = "SELECT * FROM students where student_number = %s"
    cursor.execute(sql,(user,))
    results = cursor.fetchall()

    if results:
        print("区队信息如下:")
        for row in results:
            print(f"学号: {row[0]}\n姓名: {row[4]}\n区队名: {row[1]}\n负责人: {row[2]}\n负责人联系方式: {row[3]}\n")
    else:
        print("学员信息为空")

def student_info(user):
    print("学员信息功能")
    # 在这里实现学员信息功能的代码
    sql = "SELECT * FROM students where student_number = %s"
    cursor.execute(sql,(user,))
    results = cursor.fetchall()

    if results:
        print("区队信息如下:")
        for row in results:
            print(f"学号: {row[0]}\n姓名: {row[4]}\n入学时间: {row[5]}\n年龄: {row[6]}\n")
    else:
        print("学员信息为空")

def health_exam(user):
    print("体检项目功能")
    # 在这里实现体检项目功能的代码
    while True:
        print("请选择功能:")
        print("1. 外科")
        print("2. 心电图")
        print("3. 血常规")
        print("4. 尿常规")
        print("5. b超")
        print("0. 退出")

        choice = input("请输入选项:")

        if choice == '1':
            student_A(user)
        elif choice == '2':
            student_B(user)
        elif choice == '3':
            student_C(user)
        elif choice == '4':
            student_D(user)
        elif choice == '5':
            student_E(user)
        elif choice == '0':
            break
        else:
            print("无效选项,请重新输入!")
def password_change(user):
    print("密码修改")
    # 在这里实现体检报告功能的代码
    exam_result = input("请输入修改密码:")
    sql = "SELECT * FROM users where student_number = %s "
    cursor.execute(sql, (user,))
    results = cursor.fetchall()
    if results:
        sql = "UPDATE users SET password = %s WHERE student_number = %s"
        cursor.execute(sql, (exam_result, user,))
        conn.commit()
        print("修改成功")
    else:
        print("修改失败")
def student_A(user):
    print("外科检查")
    # 在这里实现体检报告功能的代码
    exam_name = '外科'
    exam_method = '体检'
    normal_range = '90'
    exam_result = input("请输入检查结果:")
    sql = "SELECT * FROM health_exams where student_number = %s AND exam_name = %s"
    cursor.execute(sql, (user, exam_name, ))
    results = cursor.fetchall()
    if results:
        sql = "UPDATE health_exams SET exam_result = %s WHERE student_number = %s AND exam_name = %s"
        cursor.execute(sql, (exam_result,user, exam_name,))
        conn.commit()
    else:
        sql = "INSERT INTO health_exams (student_number, exam_name, exam_method,normal_range, exam_result) VALUES (%s, %s, %s, %s, %s)"
        cursor.execute(sql, (user, exam_name, exam_method, normal_range, exam_result))
        conn.commit()

    print("外科体检成功")
def student_B(user):
    print("心电图检查")
    # 在这里实现体检报告功能的代码
    exam_name = '心电图'
    exam_method = '体检'
    normal_range = '90'
    exam_result = input("请输入检查结果:")
    sql = "SELECT * FROM health_exams where student_number = %s AND exam_name = %s"
    cursor.execute(sql, (user, exam_name, ))
    results = cursor.fetchall()
    if results:
        sql = "UPDATE health_exams SET exam_result = %s WHERE student_number = %s AND exam_name = %s"
        cursor.execute(sql, (exam_result,user, exam_name,))
        conn.commit()
    else:
        sql = "INSERT INTO health_exams (student_number, exam_name, exam_method,normal_range, exam_result) VALUES (%s, %s, %s, %s, %s)"
        cursor.execute(sql, (user, exam_name, exam_method, normal_range, exam_result))
        conn.commit()
    print("心电图体检成功")
def student_C(user):
    print("血常规检查")
    # 在这里实现体检报告功能的代码
    exam_name = '血常规'
    exam_method = '体检'
    normal_range = '90'
    exam_result = input("请输入检查结果:")
    sql = "SELECT * FROM health_exams where student_number = %s AND exam_name = %s"
    cursor.execute(sql, (user, exam_name, ))
    results = cursor.fetchall()
    if results:
        sql = "UPDATE health_exams SET exam_result = %s WHERE student_number = %s AND exam_name = %s"
        cursor.execute(sql, (exam_result,user, exam_name,))
        conn.commit()
    else:
        sql = "INSERT INTO health_exams (student_number, exam_name, exam_method,normal_range, exam_result) VALUES (%s, %s, %s, %s, %s)"
        cursor.execute(sql, (user, exam_name, exam_method, normal_range, exam_result))
        conn.commit()
    print("血常规体检成功")
def student_D(user):
    print("尿常规检查")
    # 在这里实现体检报告功能的代码
    exam_name = '尿常规'
    exam_method = '体检'
    normal_range = '90'
    exam_result = input("请输入检查结果:")
    sql = "SELECT * FROM health_exams where student_number = %s AND exam_name = %s"
    cursor.execute(sql, (user, exam_name, ))
    results = cursor.fetchall()
    if results:
        sql = "UPDATE health_exams SET exam_result = %s WHERE student_number = %s AND exam_name = %s"
        cursor.execute(sql, (exam_result,user, exam_name,))
        conn.commit()
    else:
        sql = "INSERT INTO health_exams (student_number, exam_name, exam_method,normal_range, exam_result) VALUES (%s, %s, %s, %s, %s)"
        cursor.execute(sql, (user, exam_name, exam_method, normal_range, exam_result))
        conn.commit()
    print("尿常规体检成功")
def student_E(user):
    print("b超检查")
    # 在这里实现体检报告功能的代码
    exam_name = 'b超'
    exam_method = '体检'
    normal_range = '90'
    exam_result = input("请输入检查结果:")
    sql = "SELECT * FROM health_exams where student_number = %s AND exam_name = %s"
    cursor.execute(sql, (user, exam_name, ))
    results = cursor.fetchall()
    if results:
        sql = "UPDATE health_exams SET exam_result = %s WHERE student_number = %s AND exam_name = %s"
        cursor.execute(sql, (exam_result,user, exam_name,))
        conn.commit()
    else:
        sql = "INSERT INTO health_exams (student_number, exam_name, exam_method,normal_range, exam_result) VALUES (%s, %s, %s, %s, %s)"
        cursor.execute(sql, (user, exam_name, exam_method, normal_range, exam_result))
        conn.commit()
    print("b超体检成功")
def health_report(user):
    print("体检报告功能")
    # 在这里实现体检报告功能的代码
    sql = "SELECT * FROM health_exams where student_number = %s"
    cursor.execute(sql,(user,))
    results = cursor.fetchall()

    if results:
        print("体检信息如下:")
        print(f"学号:{user}")
        for row in results:
            print(f"项目名称: {row[1]}\n检查方式: {row[2]}\n正常值范围: {row[3]}\n检查结果:{row[4]}")
        while True:
            print("请选择功能:")
            print("1. 修改体检报告")
            print("2. 删除体检报告")
            print("0. 退出")

            choice = input("请输入选项:")

            if choice == '1':
                student_F(user)
            elif choice == '2':
                student_G(user)
            elif choice == '0':
                break
            else:
                print("无效选项,请重新输入!")
    else:
        print(f"{user}学员未体检")

def student_F(user):
    print("体检报告修改功能")
    # 在这里实现体检报告功能的代码
    exam_name = input("请输入项目名称:")

    sql = "SELECT * FROM health_exams where student_number = %s AND exam_name = %s"
    cursor.execute(sql, (user, exam_name,))
    results = cursor.fetchall()
    if results:
        exam_result = input("请输入检查结果:")
        sql = "UPDATE health_exams SET exam_result = %s WHERE student_number = %s AND exam_name = %s"
        cursor.execute(sql, (exam_result, user, exam_name,))
        conn.commit()
        print("修改成功")
    else:
        print(f"{exam_name}项目还未体检")
def student_G(user):
    print("体检报告删除功能")
    # 在这里实现体检报告功能的代码
    exam_name = input("请输入项目名称:")

    sql = "SELECT * FROM health_exams where student_number = %s AND exam_name = %s"
    cursor.execute(sql, (user, exam_name,))
    results = cursor.fetchall()
    if results:
        sql = "DELETE FROM health_exams where  student_number = %s AND exam_name = %s"
        cursor.execute(sql, (user, exam_name,))
        conn.commit()
        print("删除成功")
    else:
        print(f"{exam_name}项目还未体检")
def medical_knowledge():
    print("医学知识库功能")
    # 在这里实现体检报告功能的代码
# 执行登录函数
login()

# 关闭游标和连接
cursor.close()
conn.close()

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
2
2
0
15
分享
相关文章
期未作业|基于SSM实现游戏调查统计小作业
期未作业|基于SSM实现游戏调查统计小作业
WMWS在线监测管理系统
WMWS(Wincom Monitoring Web System)是稳控科技专门为终端客户开发的在线监测管理系统,基于BS 架构。可在浏览端实现项目管理、数据查看与下载、曲线查看等操作。系统界面风格简约、布局统一、逻辑清晰,具有极佳的操控体验。三层监测要素架构,实现了多项目、多设备、多测点无限扩展,可满足小型、中型的单(多)项目管理。
WMWS在线监测管理系统
期末作业C#实现学生宿舍管理系统
由于快期末考了,需要提交一份C#开发的管理系统,这里选择可视化开发,管理系统无非就是增、删、查、改,可以使用接口完成查询、删除等等…这里直接用自带的封装方法进行增删查改,本文做一个记录,也作为一次开发经历,需要完整项目的可以选择付费支持,文末会放出链接,文章还在更新6.12成品: admin表 用户表 连接数据库(注意修改以下配置) 查询语句 插入语句 删除语句 登录设计 登录页面设计 这里我们通过可视化工具进行设计,新建一个窗口为FORM1这是设计出来的样子 现在更换左上角图标,首先打开我们需要用的
249 0
期末作业C#实现学生宿舍管理系统
图书馆系统(期末大作业)
本系统实现了书籍的入库出库借书以及还书的系统
160 0
图书馆系统(期末大作业)
JSP+Servlet培训班作业管理系统[12]–人员新增功能的实现
本文目录 1. 本章任务 2. 增加新增按钮 3. 添加新增页面 4. 通过UserServlet保存新增用户 5. 测试
170 0
JSP+Servlet培训班作业管理系统[12]–人员新增功能的实现

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等