基于python的房屋租赁系统

2023-12-24 01:48:27

目录

代码实现

代码实现


如果是房东,则可以添加房屋的信息,如果是租客,则可以选择房屋

代码实现


class House:
    def __init__(self, house_id, size, price, is_rented=False):
        # 初始化房屋属性
        self.house_id = house_id
        self.size = size
        self.price = price
        self.is_rented = is_rented

class Landlord:
    def __init__(self, name):
        # 初始化房东属性
        self.name = name
        self.houses = []

    def add_house(self, house):
        # 房东添加房屋的方法
        self.houses.append(house)
        print(f"{self.name}成功添加房屋,房屋ID: {house.house_id}")

    def display_houses(self):
        # 房东查看自己的房屋列表的方法
        print(f"{self.name}的房屋列表:")
        for house in self.houses:
            print(f"房屋ID: {house.house_id}, 大小: {house.size}平米, 价格: {house.price}元/月, 状态: {'已出租' if house.is_rented else '未出租'}")

class Tenant:
    def __init__(self, name):
        # 初始化租客属性
        self.name = name
        self.rented_house = None

    def rent_house(self, house):
        # 租客租房的方法
        if not house.is_rented:
            self.rented_house = house
            house.is_rented = True
            print(f"{self.name}成功租住房屋{house.house_id}")
        else:
            print("房屋已经被租出去了。")

# 创建租赁系统
class RentalSystem:
    def __init__(self):
        self.users = []

    def add_user(self, user):
        # 添加用户到系统的方法
        self.users.append(user)

    def login(self, username, role):
        # 用户登录的方法
        user = next((u for u in self.users if u.name == username), None)
        if user and isinstance(user, role):
            return user
        else:
            print("登录失败。")

# 示例用法
rental_system = RentalSystem()

# 创建房东和租客对象
landlord = Landlord("房东A")
tenant = Tenant("租客B")

# 添加用户到租赁系统
rental_system.add_user(landlord)
rental_system.add_user(tenant)

# 用户登录
user_type = input("请选择登录角色(房东/租客): ")
username = input("请输入用户名: ")

if user_type == "房东":
    user = rental_system.login(username, Landlord)
    if user:
        # 房东添加房屋
        house = House(1, 60, 1500)
        user.add_house(house)
        # 房东查看房屋列表
        user.display_houses()
else:
    user = rental_system.login(username, Tenant)
    if user:
        # 租客选择并租住房屋
        user.rent_house(house)

代码实现


下面是一个简单的Python房屋租赁系统示例,包括房东和租客两种角色的登录和功能。请注意,这只是一个基本的示例,实际系统可能需要更多功能和安全性的考虑。
?

class House:
? ? def __init__(self, house_id, size, price, is_rented=False):
? ? ? ? self.house_id = house_id
? ? ? ? self.size = size
? ? ? ? self.price = price
? ? ? ? self.is_rented = is_rented

class User:
? ? def __init__(self, username, role):
? ? ? ? self.username = username
? ? ? ? self.role = role

class Landlord(User):
? ? def __init__(self, username):
? ? ? ? super().__init__(username, role="房东")
? ? ? ? self.houses = []

? ? def add_house(self, house):
? ? ? ? self.houses.append(house)

? ? def display_houses(self):
? ? ? ? print(f"{self.username}的房屋列表:")
? ? ? ? for house in self.houses:
? ? ? ? ? ? status = "已出租" if house.is_rented else "未出租"
? ? ? ? ? ? print(f"房屋ID: {house.house_id}, 大小: {house.size}平米, 价格: {house.price}元/月, 状态: {status}")

class Tenant(User):
? ? def __init__(self, username):
? ? ? ? super().__init__(username, role="租客")
? ? ? ? self.rented_house = None

? ? def rent_house(self, house):
? ? ? ? if not house.is_rented:
? ? ? ? ? ? self.rented_house = house
? ? ? ? ? ? house.is_rented = True
? ? ? ? ? ? print(f"{self.username}成功租住房屋{house.house_id}")
? ? ? ? else:
? ? ? ? ? ? print("房屋已经被租出去了。")

# 简化的租赁系统
class RentalSystem:
? ? def __init__(self):
? ? ? ? self.users = []

? ? def add_user(self, user):
? ? ? ? self.users.append(user)

? ? def login(self, username, role):
? ? ? ? user = next((u for u in self.users if u.username == username and u.role == role), None)
? ? ? ? return user

# 示例用法
rental_system = RentalSystem()

landlord = Landlord("房东A")
tenant = Tenant("租客B")

rental_system.add_user(landlord)
rental_system.add_user(tenant)

house1 = House(1, 60, 1500)
house2 = House(2, 80, 2000)

landlord.add_house(house1)
landlord.add_house(house2)

# 房东查看房屋列表
landlord.display_houses()

# 租客租房
tenant.rent_house(house1)

# 房东再次查看房屋列表
landlord.display_houses()

这个示例包括房东和租客两种用户类型,房东可以添加和管理房屋信息,租客可以选择并租住房屋。在实际应用中,你可能需要添加更多的功能,例如用户身份验证、异常处理、数据库存储等。

文章来源:https://blog.csdn.net/qq_50942093/article/details/135119803
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。