用python语言编写一份功能齐全的网上预约挂号系统
时间: 2023-11-17 22:07:11 浏览: 73
网上预约挂号系统
好的,下面是一个功能齐全的网上预约挂号系统的 Python 代码,包括预约挂号、查询预约信息、修改预约信息、取消预约、医生管理和挂号统计等功能:
```python
# 定义一个空字典,用于存储用户信息和预约信息
user_data = {}
# 定义一个空列表,用于存储医生信息
doctor_data = []
# 定义一个函数,用于预约挂号
def make_appointment():
# 获取用户信息
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
gender = input("请输入您的性别(男/女):")
phone = input("请输入您的手机号码:")
# 获取预约信息
department = input("请输入您要预约的科室:")
doctor = input("请输入您要预约的医生:")
date = input("请输入您要预约的日期(格式:YYYY-MM-DD):")
time = input("请输入您要预约的时间段(上午/下午):")
# 判断医生是否存在
doctor_exist = False
for doctor_info in doctor_data:
if doctor_info["name"] == doctor and doctor_info["department"] == department:
doctor_exist = True
break
if doctor_exist:
# 将用户信息和预约信息存储到字典中
user_data[phone] = {
"name": name,
"age": age,
"gender": gender,
"department": department,
"doctor": doctor,
"date": date,
"time": time
}
print("预约挂号成功!")
else:
print("该医生不存在,请重新输入!")
# 定义一个函数,用于查询预约信息
def check_appointment():
# 获取用户手机号码
phone = input("请输入您的手机号码:")
# 判断手机号码是否存在
if phone in user_data:
# 打印用户信息和预约信息
user_info = user_data[phone]
print(f"姓名:{user_info['name']}")
print(f"年龄:{user_info['age']}")
print(f"性别:{user_info['gender']}")
print(f"科室:{user_info['department']}")
print(f"医生:{user_info['doctor']}")
print(f"日期:{user_info['date']}")
print(f"时间段:{user_info['time']}")
else:
print("该手机号码未预约挂号!")
# 定义一个函数,用于修改预约信息
def modify_appointment():
# 获取用户手机号码
phone = input("请输入您的手机号码:")
# 判断手机号码是否存在
if phone in user_data:
# 获取预约信息
department = input("请输入您要修改的科室(按回车键跳过):")
doctor = input("请输入您要修改的医生(按回车键跳过):")
date = input("请输入您要修改的日期(格式:YYYY-MM-DD,按回车键跳过):")
time = input("请输入您要修改的时间段(上午/下午,按回车键跳过):")
# 修改预约信息
if department:
user_data[phone]["department"] = department
if doctor:
user_data[phone]["doctor"] = doctor
if date:
user_data[phone]["date"] = date
if time:
user_data[phone]["time"] = time
print("修改预约信息成功!")
else:
print("该手机号码未预约挂号!")
# 定义一个函数,用于取消预约
def cancel_appointment():
# 获取用户手机号码
phone = input("请输入您的手机号码:")
# 判断手机号码是否存在
if phone in user_data:
# 删除用户信息和预约信息
del user_data[phone]
print("取消预约成功!")
else:
print("该手机号码未预约挂号!")
# 定义一个函数,用于添加医生信息
def add_doctor():
# 获取医生信息
name = input("请输入医生姓名:")
department = input("请输入医生科室:")
title = input("请输入医生职称:")
# 将医生信息存储到字典中
doctor_info = {
"name": name,
"department": department,
"title": title
}
doctor_data.append(doctor_info)
print("添加医生信息成功!")
# 定义一个函数,用于删除医生信息
def delete_doctor():
# 获取医生姓名和科室
name = input("请输入医生姓名:")
department = input("请输入医生科室:")
# 查找医生信息
doctor_exist = False
for doctor_info in doctor_data:
if doctor_info["name"] == name and doctor_info["department"] == department:
doctor_exist = True
break
# 删除医生信息
if doctor_exist:
doctor_data.remove(doctor_info)
print("删除医生信息成功!")
else:
print("该医生不存在!")
# 定义一个函数,用于统计挂号信息
def statistics():
# 统计挂号信息
appointment_count = len(user_data)
department_count = {}
for user_info in user_data.values():
department = user_info["department"]
if department in department_count:
department_count[department] += 1
else:
department_count[department] = 1
doctor_count = {}
for user_info in user_data.values():
doctor = user_info["doctor"]
if doctor in doctor_count:
doctor_count[doctor] += 1
else:
doctor_count[doctor] = 1
# 打印挂号信息
print(f"总挂号人数:{appointment_count}")
print("各科室挂号人数如下:")
for department, count in department_count.items():
print(f"{department}:{count}人")
print("各医生挂号人数如下:")
for doctor, count in doctor_count.items():
print(f"{doctor}:{count}人")
# 主程序
print("欢迎使用网上预约挂号系统!")
while True:
print("请选择您要进行的操作:")
print("1. 预约挂号")
print("2. 查询预约信息")
print("3. 修改预约信息")
print("4. 取消预约")
print("5. 医生管理")
print("6. 挂号统计")
print("7. 退出系统")
choice = input("请输入您的选择(1/2/3/4/5/6/7):")
if choice == "1":
make_appointment()
elif choice == "2":
check_appointment()
elif choice == "3":
modify_appointment()
elif choice == "4":
cancel_appointment()
elif choice == "5":
print("请选择您要进行的操作:")
print("1. 添加医生信息")
print("2. 删除医生信息")
sub_choice = input("请输入您的选择(1/2):")
if sub_choice == "1":
add_doctor()
elif sub_choice == "2":
delete_doctor()
else:
print("输入错误,请重新输入!")
elif choice == "6":
statistics()
elif choice == "7":
print("谢谢使用,再见!")
break
else:
print("输入错误,请重新输入!")
```
这份代码实现了一个功能齐全的网上预约挂号系统,包括预约挂号、查询预约信息、修改预约信息、取消预约、医生管理和挂号统计等功能。用户可以通过输入数字选择功能,也可以选择退出系统。
阅读全文