• 头歌python二手房数据统计


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 hulisbljc 2024-06-04 08:52 采纳率: 0% 浏览 228 首页/ 编程语言 / 头歌python二手房数据统计 python 要求:根据输入n完成下列功能:(文件编码格式为utf-8)本题内如需排序,为保证排序结果测试正确,必须采用直接排序取前k位。例如:需要取最高前20位时,必须从大到小排序,取前20位数据。不允许从小到大排序,再逆序取数据。需要取最低前20位时,必须从小到大排序,取前20位数据。不允许从大到小排序,再逆序取数据。若n为'最低总价',则可以继续输入一个整数k,输出'价格'列最低的前k位,行内数据以空格为间隔。格式见输入输出示例若n为'最大面积',则可以继续输入一个整数k,输出'面积'列最大的前k位,行内数据以空格为间隔。格式见输入输出示例若n为'最低单价',输出每平米价格最低的1条房源信息(按公式计算:每平米价格=价格/面积),行内数据以空格为间隔。格式见输入输出示例若n为'毛坯电梯房单价',输出数据中所有满足'有电梯'并且装修情况为'毛坯'的房屋的每平米平均价格(按公式计算:每平米平均价格=总价格/总面积),格式见输入输出示例若n为'年份',则可以继续输入字符串s,如果有年份为s的数据,输出年份为s的房屋套数;如果没有匹配数据,输出'无数据',格式见输入输出示例如果非以上输入,则在小区名中查找是否包含n,并输出所有包含n字段的小区房源信息(按文件数据原有顺序),行内数据以空格为间隔。如果没有数据,则输出'未找到相关数据',格式见输入输出示例 示例 1输入:最低总价3 输出:市区 小区 户型 朝向 楼层 装修情况 电梯 面积(㎡) 价格(万元) 年份海淀 辉煌国际 2房间1卫 北 23 简装 有电梯 63 191 2007海淀 砂轮厂宿舍 2室1厅 南北 7 简装 无电梯 59 260 1998海淀 同泽园西里 2室1厅 南北 6 精装 无电梯 67 260 2012 示例 2输入:最大面积2 输出:市区 小区 户型 朝向 楼层 装修情况 电梯 面积(㎡) 价格(万元) 年份海淀 西山壹号院 4室3厅 东南 6 毛坯 有电梯 561 4150 2011海淀 西山壹号院 4室3厅 南北 6 精装 无电梯 435 3500 2013 示例 3输入:最低单价 输出:市区 小区 户型 朝向 楼层 装修情况 电梯 面积(㎡) 价格(万元) 年份海淀 辉煌国际 2房间1卫 北 23 简装 有电梯 63 191 2007 示例 4输入:毛坯电梯房单价输出:7.77万元 示例 5输入:年份2006 输出:99套 示例 6输入:年份203 输出:无数据 示例 7输入:蜂窝 输出:市区 小区 户型 朝向 楼层 装修情况 电梯 面积(㎡) 价格(万元) 年份海淀 北蜂窝30号院 2室1厅 南北 5 简装 无电梯 50 385 1980海淀 北蜂窝路5号院 1室1厅 西南 16 简装 有电梯 59 650 2009海淀 北蜂窝路5号院 3室1厅 西南 16 精装 有电梯 118 1330 2009海淀 北蜂窝30号院 2室1厅 南北 5 简装 无电梯 73 540 1974海淀 北蜂窝路5号院 2室1厅 南 18 精装 有电梯 77 898 2009海淀 北蜂窝路5号院 2室1厅 东南 17 精装 无电梯 79 880 2009海淀 北蜂窝103号院 1室1厅 南 6 毛坯 无电梯 40 320 1981海淀 北蜂窝30号院 2室1厅 东西 3 简装 无电梯 53 400 1970 示例 8输入:武汉 输出:市区 小区 户型 朝向 楼层 装修情况 电梯 面积(㎡) 价格(万元) 年份未找到相关数据 展开全部 收起 写回答 好问题 7 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    1条回答 默认 最新

    • 阿里嘎多学长 2024-06-04 09:00
      关注

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


      根据您提供的详细需求和示例,我可以帮您设计一个Python脚本,用于处理和统计二手房数据。以下是脚本的基本框架和实现逻辑:

      import re
      
      # 假设data是包含所有房源信息的列表
      data = [
          # 这里是从文件解析出来的数据列表,每个元素是一个包含房源信息的字典
      ]
      
      def find_by_keyword(data, keyword):
          results = [item for item in data if re.search(keyword, item['小区'])]
          return results if results else '未找到相关数据'
      
      def lowest_total_price(data, k):
          sorted_data = sorted(data, key=lambda x: x['价格(万元)'])
          return [item for item in sorted_data[:k]]
      
      def largest_area(data, k):
          sorted_data = sorted(data, key=lambda x: x['面积(m)'], reverse=True)
          return [item for item in sorted_data[:k]]
      
      def lowest_unit_price(data):
          data = [(int(item['价格(万元)']), int(item['面积(m)'])) for item in data]
          if not data:
              return '未找到相关数据'
          min_price_per_m2 = min(data, key=lambda x: x[0] / x[1])
          return data[[data.index(min_price_per_m2)]]
      
      def average_price_for_rough_elevator_houses(data):
          rough_elevator_houses = [item for item in data if item['装修情况'] == '毛坯' and item['电梯'] == '有电梯']
          if not rough_elevator_houses:
              return '无数据'
          total_price = sum(int(item['价格(万元)']) for item in rough_elevator_houses)
          total_area = sum(int(item['面积(m)']) for item in rough_elevator_houses)
          return total_price / total_area
      
      def count_houses_by_year(data, year):
          count = sum(1 for item in data if item['年份'] == str(year))
          return f'{count}套' if count else '无数据'
      
      # 示例:如何使用这些函数
      def main():
          n = input().strip()
          if n == '最低总价':
              k = int(input())
              print(*lowest_total_price(data, k), sep='\n')
          elif n == '最大面积':
              k = int(input())
              print(*largest_area(data, k), sep='\n')
          elif n == '最低单价':
              print(*lowest_unit_price(data), sep='\n')
          elif n == '毛坯电梯房单价':
              print(average_price_for_rough_elevator_houses(data))
          elif n == '年份':
              year = int(input())
              print(count_houses_by_year(data, year))
          else:
              print(find_by_keyword(data, n))
      
      if __name__ == '__main__':
          main()
      

      请注意,这个脚本需要您将数据以适当的格式填充到data列表中。在实际应用中,您可能需要编写额外的代码来从文件中解析数据并填充到这个列表中。

      关于参考资料,我建议您查阅以下资源以获取更多关于Python数据处理和文件操作的帮助:

      • Python官方文档:https://docs.python.org/3/
      • Python正则表达式文档:https://docs.python.org/3/library/re.html
      • Python排序函数文档:https://docs.python.org/3/tutorial/datastructures.html#sorting

      希望这个脚本能够满足您的需求。如果您有任何问题或需要进一步的帮助,请随时告诉我。

      展开全部

      评论 编辑记录
      2401_84586562 2024-06-25 13:06

      这个程序好像不行

      4
      回复
      2401_84136046 回复 2401_84586562 2024-06-25 13:27

      不够努力

      回复
      编辑
      预览

      报告相同问题?

    • 相关阅读:
      js中的原型和原型链
      【Java+SpringBoot】监考任务分配系统(源码+远程部署+项目定制开发+代码讲解+毕业设计+答辩教学)
      直播切片想要快速批量制作应该怎么做?
      pytorch调整模型学习率
      PHP框架详解:Symfony框架的深度剖析
      AOP事务管理
      C++项目实战-mysql数据库安装及配置
      数据挖掘——了解数据
      Simulink永磁同步电机控制仿真:过调制及电流重构
      谷歌真的“不作恶”?前员工起诉:它早已亲手打破座右铭
    • 原文地址:https://ask.csdn.net/questions/8113676