用PYTHON写一个简单的住宿管理系统
时间: 2023-10-24 17:07:01 浏览: 32
好的,我可以为您提供一个简单的住宿管理系统的 Python 代码。这个系统可以用来管理一些基本的住宿信息,比如房间,客人,入住和退房等。
首先,我们需要定义一些类来表示不同的实体,比如 Room 类和 Guest 类。然后,我们可以定义一个主要的 Hotel 类来管理所有的房间和客人。以下是一个示例代码:
```python
class Room:
def __init__(self, room_number, room_type, occupied):
self.room_number = room_number
self.room_type = room_type
self.occupied = occupied
class Guest:
def __init__(self, name, room_number, check_in_date, check_out_date):
self.name = name
self.room_number = room_number
self.check_in_date = check_in_date
self.check_out_date = check_out_date
class Hotel:
def __init__(self, name, rooms):
self.name = name
self.rooms = rooms
def check_availability(self, room_type):
available_rooms = []
for room in self.rooms:
if room.room_type == room_type and not room.occupied:
available_rooms.append(room)
return available_rooms
def check_in(self, guest):
for room in self.rooms:
if room.room_number == guest.room_number:
room.occupied = True
def check_out(self, guest):
for room in self.rooms:
if room.room_number == guest.room_number:
room.occupied = False
def get_guests(self):
guests = []
for room in self.rooms:
if room.occupied:
for guest in self.guests:
if guest.room_number == room.room_number:
guests.append(guest)
return guests
```
这里我们定义了三个类:Room、Guest和Hotel。Room 类表示一个房间,包含房间号、房间类型和房间是否被占用。Guest 类表示一个客人,包含客人名字、房间号、入住日期和退房日期。Hotel 类表示一个酒店,包含酒店名字和所有的房间。Hotel 类还包含一些方法来管理客人的入住和退房,以及查询房间和客人信息。
现在我们可以使用这些类来创建一个简单的住宿管理系统。以下是一个示例代码:
```python
# 创建一些房间
room1 = Room(101, "单人间", False)
room2 = Room(102, "单人间", False)
room3 = Room(201, "双人间", False)
room4 = Room(202, "双人间", False)
# 将房间放入酒店中
hotel = Hotel("ABC 酒店", [room1, room2, room3, room4])
# 查询所有的双人间
available_rooms = hotel.check_availability("双人间")
print("可用的双人间:")
for room in available_rooms:
print(room.room_number)
# 一个客人入住
guest1 = Guest("张三", 101, "2021-01-01", "2021-01-05")
hotel.check_in(guest1)
# 查询所有的客人信息
guests = hotel.get_guests()
print("当前客人:")
for guest in guests:
print("客人名字:{},房间号:{},入住日期:{},退房日期:{}".format(guest.name, guest.room_number, guest.check_in_date, guest.check_out_date))
# 一个客人退房
hotel.check_out(guest1)
# 查询所有的客人信息
guests = hotel.get_guests()
print("当前客人:")
for guest in guests:
print("客人名字:{},房间号:{},入住日期:{},退房日期:{}".format(guest.name, guest.room_number, guest.check_in_date, guest.check_out_date))
```
这个示例代码创建了一些房间,并将它们放入一个酒店中。然后,它查询了所有的双人间,让一个客人入住,查询了所有的客人信息,让这个客人退房,最后再次查询了所有的客人信息。当然,您可以根据自己的需求来修改这个代码,并添加更多的功能。