学员健康管理系统 大作业

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

学员健康管理系统 大作业

欢迎阅读本篇博客,我们将介绍如何优化一个基于 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()

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
安全 JavaScript Java
社区老人健康信息管理系统|基于springboot社区老人健康信息管理系统设计与实现(源码+数据库+文档)
社区老人健康信息管理系统|基于springboot社区老人健康信息管理系统设计与实现(源码+数据库+文档)
19 0
|
1月前
|
边缘计算 监控 安全
实战要求下,如何做好资产安全信息管理?
“摸清家底,认清风险”做好资产管理是安全运营的第一步。本文一起来看一下资产管理的重要性、难点痛点是什么,如何做好资产管理,认清风险。
74 0
|
1月前
|
小程序
智慧医院预约挂号平台源码,可直接线上预约挂号、快捷缴费,查看报告
医院线上预约挂号平台既可以让患者足不出户就可以利用微信进行在线挂号,实现分时段就诊,就诊后也可以直接使用手机微信缴费,还可以通过微信实现查询费用明细及药品清单,检查、检验报告,住院服务等功能。
智慧医院预约挂号平台源码,可直接线上预约挂号、快捷缴费,查看报告
|
1月前
|
监控 BI
区域云HIS医院信息管理系统 患者管理、号源管理、门诊医生站
医嘱执行、电子病历、病案首页、床位管理、费用管理、住院清单、住院审核、分配入科、住院退药、体温单、住院计费。
96 1
|
9月前
|
SQL 前端开发 JavaScript
医疗管理系统-预约管理
医疗管理系统-预约管理
93 0
|
11月前
|
BI 测试技术 数据库连接
基于C#的药房销售管理系统设计开题报告
基于C#的药房销售管理系统设计开题报告
121 0
|
存储 SQL NoSQL
传智健康day04 预约管理-套餐管理
传智健康day04 预约管理-套餐管理
传智健康day04 预约管理-套餐管理
|
Dubbo 前端开发 JavaScript
健康管理系统开发笔记
健康管理系统开发笔记
|
Java 程序员 数据库连接
一、《学生教务系统》之城市管理板块实现
《学生教务系统》之城市管理板块实现 🍅 Java学习路线:搬砖工的Java学习路线 🍅 作者:程序员小王 🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF 🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕
125 0
一、《学生教务系统》之城市管理板块实现
|
开发者 容器
招聘管理综合实践——审批结果更新|学习笔记
快速学习招聘管理综合实践——审批结果更新
123 0
招聘管理综合实践——审批结果更新|学习笔记