找到一个面积最大的房子,并返回谁住在那里(没有熊猫)



我是python的新手,正在努力编写这段代码。我有一个csv文件,我试图创建一个函数。该文件personal_info.csv有几列,其中一列标记为house_area,另一列标记为full_name。我正试图创建一个代码,将找到面积最大的房子,并返回谁拥有它的人的名字。

我也不允许导入csv文件以外的任何文件,所以我不能使用pandas。

下面是一些数据:

tbody> <<tr>85.83238.427
house_area full_name
40.132约翰·史密斯
安娜李
艾玛·琼斯

读取并遍历csv中的每一行,检查当前值是否大于当前最大值,如果值为真则更新值:

import csv
with open("personal_info.csv", newline="") as csvfile:
reader = csv.DictReader(csvfile)
max_area = 0
max_name = ""
for row in reader:
area = float(row["house_area"])
if area > max_area:
max_area = area
max_name = row["full_name"]
print(max_name)

如果有两个大小相同的房子,则返回第一个房子的名字。

一个简单的方法是创建一个名为to track最大房屋面积的变量。我们称其为largest_area,并将其值设置为0(假设CSV中所有房屋面积都大于0)。

然后使用csv库,遍历csv文件中的每一行,获取house_area,并将其与创建的largest_area变量进行比较。如果大于,则更新largest_area,否则忽略并继续执行CSV文件。

完成CSV文件后,最大的区域应该在largest_area变量中。

您可以使用csv.readermax:

import csv
​
with open("personal_info.csv", "r") as f:
csv_reader = csv.reader(f, delimiter=",")
max_row = max(csv_reader, key=lambda row: float(row[0]))
# Output​
print(max_row)​
['85.832', 'Anna Lee']

相关内容

最新更新