Python医院挂号脚本

作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。

会一些的技术:数据分析、算法、SQL、大数据相关、python

欢迎加入社区:码上找工作

作者专栏每日更新:
LeetCode解锁1000题: 打怪升级之旅
python数据分析可视化:企业实战案例

备注说明:方便大家阅读,统一使用python,带必要注释,公众号 数据分析螺丝钉 一起打怪升级

系统介绍

创建一个简单的医院挂号系统通常涉及患者注册、挂号功能,以及医生的安排。这里我们将使用 Python 来实现一个基本的命令行挂号系统。我们将构建以下功能:

  1. 患者注册:输入患者基本信息,注册后保存患者信息。
  2. 挂号服务:根据患者选择的科室和医生进行挂号。
  3. 查询挂号:查看当前所有的挂号信息。

我们将使用字典来存储患者和医生的数据,以简化数据库操作。

Python 代码实现

以下是医院挂号系统的一个简单实现:

python 复制代码
from typing import Dict, List, Tuple

class HospitalRegistrationSystem:
    def __init__(self):
        # 初始化用于存储病人信息和预约信息的字典,以及按科室分类的医生列表
        self.patients: Dict[int, Dict[str, str]] = {}
        self.appointments: List[Tuple[int, str]] = []
        self.doctors: Dict[str, List[str]] = {
            'Cardiology': ['Dr. Smith', 'Dr. Wesson'],
            'Orthopedics': ['Dr. Clark', 'Dr. Stone'],
            'Pediatrics': ['Dr. Adams', 'Dr. Black']
        }

    def register_patient(self) -> None:
        # 注册病人
        name = input("请输入病人姓名: ").strip()
        age = input("请输入病人年龄: ").strip()
        if not name or not age.isdigit():
            print("输入无效。姓名不能为空且年龄必须为数字。")
            return
        patient_id = len(self.patients) + 1
        self.patients[patient_id] = {'name': name, 'age': age}
        print(f"病人注册成功,病人ID: {patient_id}")

    def book_appointment(self) -> None:
        # 预约挂号
        try:
            patient_id = int(input("请输入您的病人ID: "))
            if patient_id not in self.patients:
                print("病人ID无效。")
                return

            print("可选择的科室有:")
            for specialty in self.doctors:
                print(specialty)
            specialty = input("请选择科室: ").strip()
            if specialty not in self.doctors:
                print("科室选择无效。")
                return

            print("可选择的医生有:")
            for idx, doctor in enumerate(self.doctors[specialty]):
                print(f"{idx + 1}. {doctor}")
            doc_choice = int(input("请选择医生(输入数字): "))
            if 1 <= doc_choice <= len(self.doctors[specialty]):
                doctor = self.doctors[specialty][doc_choice-1]
                self.appointments.append((patient_id, doctor))
                print(f"已成功预约{doctor}医生,病人ID {patient_id}。")
            else:
                print("医生选择无效。")
        except ValueError:
            print("输入错误,请输入有效的数字。")

    def view_appointments(self) -> None:
        # 查看预约信息
        if not self.appointments:
            print("当前没有预约。")
        for appointment in self.appointments:
            patient_id, doctor = appointment
            patient_name = self.patients[patient_id]['name']
            print(f"病人 {patient_name} (ID: {patient_id}) 预约了 {doctor} 医生。")

# 主程序交互循环
if __name__ == "__main__":
    system = HospitalRegistrationSystem()
    while True:
        print("\n1. 注册病人")
        print("2. 预约挂号")
        print("3. 查看预约")
        print("4. 退出系统")
        choice = input("请输入选项: ")
        if choice == '1':
            system.register_patient()
        elif choice == '2':
            system.book_appointment()
        elif choice == '3':
            system.view_appointments()
        elif choice == '4':
            print("退出系统。")
            break
        else:
            print("无效选择,请重新输入。")

功能说明

  • 患者注册:患者可以通过提供姓名和年龄来注册。每位患者被赋予一个唯一的 ID。
  • 挂号服务:患者可以选择专科和专科内的医生进行挂号。系统将确认挂号详情。
  • 查询挂号:可以查看所有挂号信息,包括患者名称和他们的医生。

运行流程

用户将通过命令行界面与系统交互,选择注册、挂号或查看挂号信息。这个系统简单而实用,适合作为学习项目进一步开发。

这个系统当前是非常基础的版本,实际应用中需要处理更多细节,如挂号时间、取消挂号、医生的排班表等。此外,为了保证数据持久性,应当将数据存储于数据库而非内存字典。

相关推荐
bryant_meng33 分钟前
【python】OpenCV—Image Moments
开发语言·python·opencv·moments·图片矩
若亦_Royi1 小时前
C++ 的大括号的用法合集
开发语言·c++
KevinRay_1 小时前
Python超能力:高级技巧让你的代码飞起来
网络·人工智能·python·lambda表达式·列表推导式·python高级技巧
Captain823Jack2 小时前
nlp新词发现——浅析 TF·IDF
人工智能·python·深度学习·神经网络·算法·自然语言处理
资源补给站2 小时前
大恒相机开发(2)—Python软触发调用采集图像
开发语言·python·数码相机
Captain823Jack2 小时前
w04_nlp大模型训练·中文分词
人工智能·python·深度学习·神经网络·算法·自然语言处理·中文分词
m0_748247552 小时前
Web 应用项目开发全流程解析与实战经验分享
开发语言·前端·php
测试杂货铺2 小时前
Jmeter压测实战:Jmeter二次开发之自定义函数
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试
6.942 小时前
Scala学习记录 递归调用 练习
开发语言·学习·scala
PieroPc3 小时前
Python 自动化 打开网站 填表登陆 例子
运维·python·自动化