Python基础二手房

最晚25号前结题,需要写出程序设计思路,代码,程序性推广分析,结论

img

首先,需要将房源信息存入一个字典中。然后,可以对字典进行排序,找到符合条件的房源,并输出相应的信息。

#定义房源信息字典
house = {
    '001': {'房型': '三室两厅', '面积/平方': 88.69, '朝向': '南北', '装修情况': '简装', '挂牌价(元/平方米)': 37194, '关注人数': 45},
    '002': {'房型': '两室两厅', '面积/平方': 87.16, '朝向': '南西', '装修情况': '精装', '挂牌价(元/平方米)': 36455, '关注人数': 158},
    '003': {'房型': '三室一厅', '面积/平方': 61.72, '朝向': '南北', '装修情况': '精装', '挂牌价(元/平方米)': 37266, '关注人数': 146},
    '004': {'房型': '三室两厅', '面积/平方': 72.18, '朝向': '南北', '装修情况': '精装', '挂牌价(元/平方米)': 68366, '关注人数': 80},
    '005': {'房型': '两室两厅', '面积/平方': 71.67, '朝向': '南北', '装修情况': '简装', '挂牌价(元/平方米)': 33487, '关注人数': 115},
    '006': {'房型': '三室两厅', '面积/平方': 64.78, '朝向': '东西', '装修情况': '简装', '挂牌价(元/平方米)': 51782, '关注人数': 34},
    '007': {'房型': '三室一厅', '面积/平方': 81.23, '朝向': '东南', '装修情况': '精装', '挂牌价(元/平方米)': 62123, '关注人数': 88}
}

寻找挂牌价最高的四套房,并输出相应的房源信息
top4_house = sorted(house.items(), key=lambda x: x[1]['挂牌价(元/平方米)'], reverse=True)[:4]
for h in top4_house:
print(h[0], h[1])

寻找挂牌价小于6000元/平方米的房源中人气最低的三套房,并输出相应的房源信息
low3_house = sorted([h for h in house.items() if h[1]['挂牌价(元/平方米)'] < 6000], key=lambda x: x[1]['关注人数'])[:3]
for h in low3_house:
print(h[0], h[1])

寻找南北朝向中面积最大的两套房,并输出相应的房源信息
nn_house = [h for h in house.items() if h[1]['朝向'] in ['南北']]
top2_house = sorted(nn_house, key=lambda x: x[1]['面积/平方'], reverse=True)[:2]
for h in top2_house:
print(h[0], h[1])

寻找出7种房源编号的平均挂牌价和平均面积/平方米
price_sum = 0
area_sum = 0
for h in house.values():
price_sum += h['挂牌价(元/平方米)']
area_sum += h['面积/平方']
price_avg = price_sum / len(house)
area_avg = area_sum / len(house)
print(f'平均挂牌价: {price_avg}, 平均面积/平方米: {area_avg}')

程序性推广分析:
在上述代码中,使用了 Python 内置的 sorted 函数来对字典进行排序,并使用列表推导式来筛选符合条件的房源。这些操作可以用于其他相似的场景,例如对员工信息进行排序或筛选。

在程序设计中,还可以将上述操作封装成函数,以便在其他地方复用。

结论:

通过上述代码,可以方便地对房源信息进行排序和筛选,并输出相应的信息。

经过整理,编写了相应的代码,整理不易,希望能够对你有帮助!

如果感觉有用的话请采纳!

编写主要思路为预先导入房价信息的字典,然后对该字典中的数据进行排序、筛选和输出

from numpy import *

dic_house = {"001": ["3室2厅", "88.69平方米", "南北", "简装", "37194元/平方米", "45人"],
             "002": ["2室2厅", "87.16平方米", "南西", "精装", "36455元/平方米", "158人"],
             "003": ["3室1厅", "61.72平方米", "南北", "精装", "37266元/平方米", "146人"],
             "004": ["3室2厅", "72.14平方米", "南北", "精装", "68366元/平方米", "80人"],
             "005": ["2室2厅", "71.67平方米", "南北", "简装", "33487元/平方米", "115人"],
             "006": ["3室2厅", "64.78平方米", "东西", "简装", "51782元/平方米", "34人"],
             "007": ["3室1厅", "82.23平方米", "东南", "精装", "62123元/平方米", "88人"]
             }
m_price_list = sorted(dic_house.items(), key=lambda x: int(x[1][4][:-5]), reverse=True)
print("挂牌价最高的四套房源为:")
for i in range(4):
    print("房源编号:{},房源信息:{}".format(m_price_list[i][0], m_price_list[i][1]))
m_price_list2 = [x for x in m_price_list if int(x[1][4][:-5]) < 60000]
m_price_list3 = sorted(m_price_list2, key=lambda x: int(x[1][5][:-1]))

print("人气最低的三套房源:")
for i in range(3):
    print("房源编号:{},房源信息:{}".format(m_price_list3[i][0], m_price_list3[i][1]))

m_area_list = [x for x in m_price_list if x[1][2] == "南北"]
# print(m_area_list)
m_area_list2 = sorted(m_area_list, key=lambda x: float(x[1][1][:-3]), reverse=True)
print("面积最大的两套房:")
for i in range(2):
    print("房源编号:{},房源信息:{}".format(m_area_list2[i][0], m_area_list2[i][1]))

a_price_list = [int(x[1][4][:-5]) for x in m_price_list]
a_price = mean(a_price_list)
print("平均挂牌价为:{}".format(a_price))
a_area_list = [float(x[1][1][:-3]) for x in m_price_list]
a_area = mean(a_area_list)
print("平均面积为:{}".format(a_area))



输出结果为:

挂牌价最高的四套房源为:
房源编号:004,房源信息:['3室2厅', '72.14平方米', '南北', '精装', '68366元/平方米', '80人']
房源编号:007,房源信息:['3室1厅', '82.23平方米', '东南', '精装', '62123元/平方米', '88人']
房源编号:006,房源信息:['3室2厅', '64.78平方米', '东西', '简装', '51782元/平方米', '34人']
房源编号:003,房源信息:['3室1厅', '61.72平方米', '南北', '精装', '37266元/平方米', '146人']
人气最低的三套房源:
房源编号:006,房源信息:['3室2厅', '64.78平方米', '东西', '简装', '51782元/平方米', '34人']
房源编号:001,房源信息:['3室2厅', '88.69平方米', '南北', '简装', '37194元/平方米', '45人']
房源编号:005,房源信息:['2室2厅', '71.67平方米', '南北', '简装', '33487元/平方米', '115人']
面积最大的两套房:
房源编号:001,房源信息:['3室2厅', '88.69平方米', '南北', '简装', '37194元/平方米', '45人']
房源编号:004,房源信息:['3室2厅', '72.14平方米', '南北', '精装', '68366元/平方米', '80人']
平均挂牌价为:46667.57142857143
平均面积为:75.48428571428572
房源编号:004,房源信息:['3室2厅', '72.14平方米', '南北', '精装', '68366元/平方米', '80人']
平均挂牌价为:46667.57142857143
平均面积为:75.48428571428572

?你具体描述一下呀

参考下:
https://baijiahao.baidu.com/s?id=1705433009657727974&wfr=spider&for=pc

house = [
{'房源编号': '001', '房型': '3室2厅', '面积': 88.69, '朝向': '南北', '装修情况': '简装', '挂牌价': 37194, '关注人数': 45}, 
{'房源编号': '002', '房型': '2室2厅', '面积': 87.16, '朝向': '南西', '装修情况': '精装', '挂牌价': 36455, '关注人数': 158}, 
{'房源编号': '003', '房型': '3室1厅', '面积': 61.72, '朝向': '南北', '装修情况': '精装', '挂牌价': 37266, '关注人数': 146}, 
{'房源编号': '004', '房型': '3室2厅', '面积': 72.18, '朝向': '南北', '装修情况': '精装', '挂牌价': 68366, '关注人数': 80}, 
{'房源编号': '005', '房型': '2室2厅', '面积': 71.67, '朝向': '南北', '装修情况': '简装', '挂牌价': 33487, '关注人数': 115}, 
{'房源编号': '006', '房型': '3室2厅', '面积': 64.78, '朝向': '东西', '装修情况': '简装', '挂牌价': 51782, '关注人数': 34}, 
{'房源编号': '007', '房型': '3室1厅', '面积': 81.23, '朝向': '东南', '装修情况': '精装', '挂牌价': 62123, '关注人数': 88}, 
]
# 1.挂牌价最高
res = sorted(house, key = lambda x: x['挂牌价'], reverse = True)[:4]
for i in res:
    print(i)

# 2.
res = [i for i in house if i['挂牌价'] < 6000]
res = sorted(res, key = lambda x: x['关注人数'])[:3]
print(res)
# 3.南北朝向 面积最大2套
res = [i for i in house if i['朝向'] == '南北']
res = sorted(res, key = lambda x: x['面积'], reverse = True)[:2]
print(res)

# 4.
price, area = 0, 0
for i in house:
    price +=  i['挂牌价']
    area += i['面积']

print(f'7种房源的平均价为:{price/7:.2f}元/平方米,平均面积为:{area/7:.2f}平方米.')

就是一个字典数据的排序问题,建立字典,字典项如下:{"001": "3室2厅", "88.69", "南北", "简装", "37194", "45"},分别对价格和面积进行排序,求平均值等,根据需要取对应数据就ok了,对需要排序的字段如面积,加入字典时最好不要带汉字单位,方便后续的程序进行转换、排序等处理