筛选房屋时间小于10年,20年到10年的,20年以上的
时间: 2024-03-11 22:48:05 浏览: 40
你可以使用类似于上面的代码来获取房屋的使用年限,然后根据不同的使用年限来进行筛选。下面是一个示例代码:
```python
import datetime
# 假设有一组房屋建造年份的列表
build_years = [1990, 2005, 2015, 2010, 2000, 1995, 1985]
# 获取当前年份
current_year = datetime.datetime.now().year
# 遍历建造年份列表,进行筛选
for year in build_years:
use_years = current_year - year
if use_years < 10:
print("{}年建造的房屋使用年限为{}年,小于10年".format(year, use_years))
elif use_years >= 10 and use_years <= 20:
print("{}年建造的房屋使用年限为{}年,10年到20年之间".format(year, use_years))
else:
print("{}年建造的房屋使用年限为{}年,大于20年".format(year, use_years))
```
这个代码会遍历建造年份列表,计算每个房屋的使用年限,并根据不同的使用年限进行分类输出。你可以根据实际情况修改建造年份列表和阈值。
相关问题
编写代码:在houseinfo.csv文件中查询筛选房屋时间小于10年,20年到10年的,20年以上的房子
以下是在 houseinfo.csv 文件中查询筛选房屋时间小于10年,20年到10年的,20年以上的房子的 Python 代码:
```python
import csv
# 打开 CSV 文件
with open('houseinfo.csv', 'r') as f:
reader = csv.reader(f)
# 跳过第一行标题行
next(reader)
# 分别保存不同时间段的房屋信息
lt_10_years = []
between_10_and_20_years = []
gt_20_years = []
# 遍历每一行数据
for row in reader:
# 获取建筑年份
year = int(row[2].split('/')[0])
# 小于10年的房屋
if year > 0 and year <= 10:
lt_10_years.append(row)
# 10-20年的房屋
elif year > 10 and year <= 20:
between_10_and_20_years.append(row)
# 20年以上的房屋
elif year > 20:
gt_20_years.append(row)
# 输出结果
print("小于10年的房屋:")
for row in lt_10_years:
print(row)
print("10-20年的房屋:")
for row in between_10_and_20_years:
print(row)
print("20年以上的房屋:")
for row in gt_20_years:
print(row)
```
解释:
1. 使用 Python 内置的 csv 模块打开 CSV 文件,并跳过第一行标题行。
2. 在遍历每一行数据时,获取建筑年份,判断属于哪个时间段的房屋,并将其保存到对应的列表中。
3. 输出结果,分别打印不同时间段的房屋信息。
将以下代码的功能改为查询筛选房屋时间小于10年,20年到10年的,20年以上的: f = open("houseinfo.csv","r",newline="") ls=[] for line in f: ls.append(line.strip('\n').split(',')) f.close() chaoxiang=int(input("待查询房屋朝向:1南北2东西3东南4西南5东北6西北:")) if chaoxiang==1: chaoxianginf="南北" elif chaoxiang==2: chaoxianginf="东西" elif chaoxiang==3: chaoxianginf="东南" elif chaoxiang==4: chaoxianginf="西南" elif chaoxiang==5: chaoxianginf="东北" elif chaoxiang==6: chaoxianginf="西北" mianjimin=int(input("待查询房屋面积最小值:")) mianjimax=int(input("待查询房屋面积最大值:")) lsout=[] for s in ls: if chaoxianginf == s[5] and mianjimin <= int(s[6])<=mianjimax: str=s[0]+"小区"+'第'+s[3]+'号楼'+s[4][-2:]+'户型' if str not in lsout: lsout.append(str) print('符合查询条件的房屋有:') for s in lsout: print(s)
以下是将代码改为查询筛选房屋时间小于10年,20年到10年的,20年以上的的代码:
```python
f = open("houseinfo.csv", "r", newline="")
ls = []
for line in f:
ls.append(line.strip('\n').split(','))
f.close()
chaoxiang = int(input("待查询房屋朝向:1南北2东西3东南4西南5东北6西北:"))
if chaoxiang == 1:
chaoxianginf = "南北"
elif chaoxiang == 2:
chaoxianginf = "东西"
elif chaoxiang == 3:
chaoxianginf = "东南"
elif chaoxiang == 4:
chaoxianginf = "西南"
elif chaoxiang == 5:
chaoxianginf = "东北"
elif chaoxiang == 6:
chaoxianginf = "西北"
mianjimin = int(input("待查询房屋面积最小值:"))
mianjimax = int(input("待查询房屋面积最大值:"))
lsout = []
for s in ls:
if chaoxianginf == s[5] and mianjimin <= int(s[6]) <= mianjimax:
time = int(s[2].split('/')[0])
if time < 10:
str = s[0] + "小区" + '第' + s[3] + '号楼' + s[4][-2:] + '户型(小于10年)'
elif time >= 10 and time <= 20:
str = s[0] + "小区" + '第' + s[3] + '号楼' + s[4][-2:] + '户型(10-20年)'
else:
str = s[0] + "小区" + '第' + s[3] + '号楼' + s[4][-2:] + '户型(20年以上)'
if str not in lsout:
lsout.append(str)
print('符合查询条件的房屋有:')
for s in lsout:
print(s)
```
解释:
1. 将房屋的建造时间从 CSV 文件中读取,判断是否小于10年,20年到10年,还是20年以上。
2. 根据不同的时间段添加不同的信息到输出字符串中。
3. 根据时间段筛选符合条件的房屋信息。
阅读全文