Python工作室预约系统:如何实现预约数据存储与防重复预约
工作室预约系统优化实现
需求概述
开发工作室预约项目,需完成以下优化:
- 完善循环输入逻辑,适配格式错误、重复预约等场景
- 新增预约数据存储功能,避免同一时段被重复预约
优化后代码
import datetime # 用集合存储已预约时段,实现快速查重 booked_slots = set() while True: booking_str = input("Enter preferred date and time (YYYY-MM-DD HH:MM): ") try: # 解析输入的日期时间字符串 user_date = datetime.datetime.strptime(booking_str, "%Y-%m-%d %H:%M") slot_key = user_date.strftime("%Y-%m-%d %H:%M") if slot_key in booked_slots: print("This time slot is already booked. Please choose another one.") else: booked_slots.add(slot_key) print(f"Successfully booked at {user_date.strftime('%Y-%m-%d %H:%M')}") break except ValueError: print("Invalid date format. Please use YYYY-MM-DD HH:MM format")
功能说明
- 采用
set存储已预约时段,借助集合O(1)的查询效率快速判断时段是否重复 - 保留循环输入逻辑:用户输入格式错误或时段已被占用时,持续提示重新输入,直到完成有效预约
- 新增重复预约校验:解析完成后先检查时段是否已存在,存在则引导用户更换,不存在则完成预约并退出循环
- 修复原代码的缩进错误,确保逻辑正常执行
内容的提问来源于stack exchange,提问作者Rep
相关产品推荐
相关产品推荐

