使用python面向对象对宾馆人员住宿信息进行增删改查操作,数据由键盘操作,信息保持在txt文件中并运行
时间: 2024-03-03 13:48:11 浏览: 13
好的,这是一个比较复杂的问题,需要用到Python的面向对象编程和文件操作知识。我会尽力给您提供一个简单的示例代码,供您参考。
首先,我们需要定义一个类来表示宾馆人员的住宿信息:
```python
class HotelGuest:
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
def __str__(self):
return f"Name: {self.name}\nRoom Number: {self.room_number}\nCheck-in Date: {self.check_in_date}\nCheck-out Date: {self.check_out_date}\n"
```
这个类有四个属性:姓名、房间号、入住日期和离店日期。我们还实现了一个 `__str__` 方法来打印这些信息。
然后,我们需要定义一个类来处理宾馆人员住宿信息的增删改查操作:
```python
class HotelManager:
def __init__(self, file_path):
self.file_path = file_path
def add_guest(self):
name = input("Name: ")
room_number = input("Room Number: ")
check_in_date = input("Check-in Date: ")
check_out_date = input("Check-out Date: ")
guest = HotelGuest(name, room_number, check_in_date, check_out_date)
with open(self.file_path, "a") as f:
f.write(str(guest))
def delete_guest(self):
name = input("Name: ")
guests = self.read_guests()
new_guests = [g for g in guests if g.name != name]
self.write_guests(new_guests)
def update_guest(self):
name = input("Name: ")
guests = self.read