洗衣机预约系统代码

发布日期:2023-10-11
洗衣机预约系统代码

电工优优今天要和大家分享的洗衣机维修相关信息,接下来我将从洗衣机预约系统代码这个方面来介绍。

一个基于Python的洗衣机预约系统代码如下:

```python

import datetime

# 定义一个洗衣机预约类

class LaundryReservation:

def __init__(self):

# 初始化洗衣机预约系统

self.reservations = []

# 检查预约时间是否重叠

def is_conflict(self, start_time, end_time):

return any(

r['start_time'] < end_time and start_time < r['end_time']

for r in self.reservations

)

# 添加预约

def add_reservation(self, name, start_time, end_time):

if self.is_conflict(start_time, end_time):

print('您选择的时间段已有预约,请重新选择!')

else:

self.reservations.append({

'name': name,

'start_time': start_time,

'end_time': end_time

})

print('预约成功!')

# 取消预约

def cancel_reservation(self, name):

for i, r in enumerate(self.reservations):

if r['name'] == name:

del self.reservations[i]

print('预约取消成功!')

# 显示所有预约

def show_reservations(self):

if not self.reservations:

print('当前没有任何预约!')

else:

for r in self.reservations:

start_time = datetime.datetime.strftime(r['start_time'], '%Y-%m-%d %H:%M:%S')

end_time = datetime.datetime.strftime(r['end_time'], '%Y-%m-%d %H:%M:%S')

print('{}预约的洗衣机使用时间为:{} 至 {}'.format(r['name'], start_time, end_time))

# 实例化洗衣机预约系统

laundry_reservation = LaundryReservation()

# 模拟预约

laundry_reservation.add_reservation('小明', datetime.datetime(2022, 5, 1, 18, 0), datetime.datetime(2022, 5, 1, 19, 0))

laundry_reservation.add_reservation('小红', datetime.datetime(2022, 5, 2, 19, 0), datetime.datetime(2022, 5, 2, 20, 0))

laundry_reservation.add_reservation('小刚', datetime.datetime(2022, 5, 3, 9, 0), datetime.datetime(2022, 5, 3, 10, 0))

# 取消预约

laundry_reservation.cancel_reservation('小明')

# 显示所有预约

laundry_reservation.show_reservations()

代码中首先定义了一个`LaundryReservation`类,即洗衣机预约系统。在预约系统中,我们定义了以下几个方法:

- `__init__(self)`:初始化洗衣机预约系统,创建一个空的`reservations`列表。

- `is_conflict(self, start_time, end_time)`:检查预约时间是否与已有预约重叠,如果重叠则返回`True`,否则返回`False`。

- `add_reservation(self, name, start_time, end_time)`:向预约系统中添加一条预约记录,如果预约时间与已有预约时间重叠,则提示用户重新选择。

- `cancel_reservation(self, name)`:取消指定姓名的预约记录。

- `show_reservations(self)`:列出所有预约记录。

我们可以使用以上方法对洗衣机预约系统进行管理。例如,我们可以使用`add_reservation`方法添加一条预约记录,使用`cancel_reservation`方法取消一条预约记录,使用`show_reservations`方法列出所有预约记录。

在下面的代码中,我们使用了`datetime`模块来处理时间相关操作,例如设置预约时间等。由于以上只是一个最基本的预约系统代码,可以根据实际需求进行调整和改进。