python酒店管理系统
时间: 2023-09-23 17:07:30 浏览: 45
下面是一个简单的Python酒店管理系统的示例代码:
```python
class Room:
def __init__(self, room_number, room_type, status):
self.room_number = room_number
self.room_type = room_type
self.status = status
class Hotel:
def __init__(self, name, rooms):
self.name = name
self.rooms = rooms
def check_in(self, room_number):
for room in self.rooms:
if room.room_number == room_number:
if room.status == "available":
room.status = "occupied"
print(f"Room {room_number} checked in.")
return
else:
print(f"Room {room_number} is not available.")
return
print(f"Room {room_number} does not exist.")
def check_out(self, room_number):
for room in self.rooms:
if room.room_number == room_number:
if room.status == "occupied":
room.status = "available"
print(f"Room {room_number} checked out.")
return
else:
print(f"Room {room_number} is not occupied.")
return
print(f"Room {room_number} does not exist.")
def get_available_rooms(self):
available_rooms = []
for room in self.rooms:
if room.status == "available":
available_rooms.append(room)
return available_rooms
def get_room_status(self, room_number):
for room in self.rooms:
if room.room_number == room_number:
return room.status
return f"Room {room_number} does not exist."
def get_rooms_by_type(self, room_type):
rooms_by_type = []
for room in self.rooms:
if room.room_type == room_type:
rooms_by_type.append(room)
return rooms_by_type
# create rooms
room1 = Room(101, "single", "available")
room2 = Room(102, "single", "occupied")
room3 = Room(201, "double", "available")
room4 = Room(202, "double", "occupied")
room5 = Room(301, "suite", "available")
# create hotel
hotel = Hotel("My Hotel", [room1, room2, room3, room4, room5])
# check in a guest to room 101
hotel.check_in(101)
# check out a guest from room 102
hotel.check_out(102)
# get available rooms
available_rooms = hotel.get_available_rooms()
for room in available_rooms:
print(f"Room {room.room_number} is {room.room_type} and {room.status}.")
# get status of room 101
print(hotel.get_room_status(101))
# get rooms by type
single_rooms = hotel.get_rooms_by_type("single")
for room in single_rooms:
print(f"Room {room.room_number} is {room.room_type} and {room.status}.")
```
这个示例代码定义了两个类:Room和Hotel。Room表示一个酒店房间,包括房间号、房间类型和状态。Hotel表示一个酒店,包括酒店名称和所有房间的列表。Hotel类有几个方法,包括check_in、check_out、get_available_rooms、get_room_status和get_rooms_by_type,用于管理房间的入住、退房、获取空闲房间、获取房间状态和按类型获取房间等功能。