2301_81637191 2024-06-14 23:55 采纳率: 72.2%
浏览 5
已结题

pythen,实践题,求解

使用面向对象编程技术,设计一个售房中介程序,做房源信息录入,及房源信息批量保存,并实现:按总价/单价检索房源;

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2024-06-14 23:55
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    设计一个面向对象的售房中介程序,我们可以从定义几个基本的类开始,例如House类来表示单个房源,RealEstateAgency类来管理房源信息的录入、保存和检索。下面是一个简单的示例代码,实现了您所需的功能:

    class House:
        def __init__(self, address, price, unit_price):
            self.address = address
            self.price = price
            self.unit_price = unit_price
    
        def __repr__(self):
            return f"House(address={self.address}, price={self.price}, unit_price={self.unit_price})"
    
    class RealEstateAgency:
        def __init__(self):
            self.houses = []
    
        def add_house(self, house):
            self.houses.append(house)
    
        def save_houses(self, file_path):
            with open(file_path, 'w') as file:
                for house in self.houses:
                    file.write(f"{house.address}, {house.price}, {house.unit_price}\n")
    
        def load_houses(self, file_path):
            with open(file_path, 'r') as file:
                for line in file:
                    address, price, unit_price = line.strip().split(', ')
                    self.add_house(House(address, float(price), float(unit_price)))
    
        def search_by_price(self, min_price=None, max_price=None):
            result = self.houses
            if min_price is not None:
                result = [house for house in result if house.price >= min_price]
            if max_price is not None:
                result = [house for house in result if house.price <= max_price]
            return result
    
        def search_by_unit_price(self, min_unit_price=None, max_unit_price=None):
            result = self.houses
            if min_unit_price is not None:
                result = [house for house in result if house.unit_price >= min_unit_price]
            if max_unit_price is not None:
                result = [house for house in result if house.unit_price <= max_unit_price]
            return result
    
    # 使用示例
    agency = RealEstateAgency()
    agency.add_house(House("123 Maple Street", 300000, 200))
    agency.add_house(House("456 Oak Avenue", 500000, 250))
    
    # 批量保存房源信息
    agency.save_houses("houses.txt")
    
    # 批量加载房源信息
    agency.load_houses("houses.txt")
    
    # 按总价检索房源
    print(agency.search_by_price(min_price=300000))
    
    # 按单价检索房源
    print(agency.search_by_unit_price(max_unit_price=250))
    

    关于参考资料,您可以查看以下资源来进一步了解面向对象编程和Python编程实践:

    1. Python官方文档:https://docs.python.org/3/
    2. 《Fluent Python》一书,作者Luciano Ramalho,提供了深入的Python编程技巧和最佳实践。
    3. 在线教程和博客,例如Real Python,提供了许多面向对象编程的教程和示例。

    请注意,上述示例代码是一个基础的实现,实际应用中可能需要更多的功能和异常处理。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月23日
  • 已采纳回答 6月15日
  • 创建了问题 6月14日

悬赏问题

  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红
  • ¥15 想问问富文本拿到的html怎么转成docx的
  • ¥15 我看了您的文章,遇到了个问题。
  • ¥15 GitHubssh虚拟机连接不上
  • ¥15 装完kali之后下载Google输入法 重启电脑后出现以下状况 且退不出去 桌面消失 反复重启没用
  • ¥15 ESP-IDP-BLE配网连接wifi