Python期末复习题:文件
创始人
2024-02-09 14:39:00
0

Python期末复习题:文件

文章目录

  • Python期末复习题:文件
    • 一、二手房数据统计
    • 二、学生成绩统计

一、二手房数据统计

在这里插入图片描述

附件文件house.csv 中存储一些二手房数据,中文编码为GBK,对文件中的数据进行统计分析。

文件中数据格式如下所示:

市区,小区,户型,朝向,楼层,装修情况,电梯,面积(㎡),价格(万元),年份

海淀,毛纺住宅北小区,3室1厅,东西,14,简装,无电梯,97,630,1997

海淀,知春里,3室1厅,南北,6,其他,无电梯,73,910,1988

要求输出价格由高到低的10个房源。

def read_csv(file):data_ls = []with open(file, 'r', encoding='GBK') as f:for line in f:line_ls = line.strip().split(',')data_ls.append(line_ls)return data_lsdef sorted_data(data_ls, n):data_sort = sorted(data_ls[1:], key=lambda x: float(x[n]), reverse=True)return [data_ls[0]] + data_sortif __name__ == '__main__':filename = './文件/house.csv'house_info = read_csv(filename)print(sorted_data(house_info, 8)[:10])

运行的结果是:

[['市区', '小区', '户型', '朝向', '楼层', '装修情况', '电梯', '面积(㎡)', '价格(万元)', '年份'], ['海淀', '紫御府', '4室2厅', '南北', '12', '精装', '
有电梯', '374', '4368', '2008'], ['海淀', '西山壹号院', '4室3厅', '东南', '6', '毛坯', '有电梯', '561', '4150', '2011'], ['海淀', '西山壹号院', '3室3
厅', '西南', '6', '精装', '有电梯', '321', '3850', '2011'], ['海淀', '西山
壹号院', '4室2厅', '西南', '6', '毛坯', '有电梯', '347', '3750', '2011'], ['海淀', '西山壹号院', '4室2厅', '西南', '6', '毛坯', '有电梯', '347', '3750', '2011'], ['海淀', '鲁艺上河村三区', '4室2厅', '南北', '11', '精装', '无
电梯', '263', '3750', '2006'], ['海淀', '万泉新新家园', '4室2厅', '南北', '6', '精装', '有电梯', '286', '3600', '2001'], ['海淀', '西山壹号院', '4室3 厅', '南北', '6', '精装', '无电梯', '435', '3500', '2013'], ['海淀', '龙湖 唐宁one', '4室2厅', '南北', '31', '精装', '有电梯', '378', '3500', '2011']]

二、学生成绩统计

在这里插入图片描述

利用附件文件成绩单.csv(注意:可以用记事本打开查看其内容)中的成绩数据进行成绩统计,根据总分进行升序排序后,输出总分最低分和最高分,按总分升序输出前n名同学和后n名同学成绩信息(n为非负数,当n大于数据行数时,按实际行数输出),输出每题的平均成绩。

示例‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

输入:

2

输出:

最低分0分,最高分30分

[[‘12529’, ‘朱佳年’, ‘0121701100203’, ‘0’, ‘0’, ‘0’, ‘0’, ‘0’, ‘0’, ‘0’], [‘12347’, ‘李世祥’, ‘0121701100208’, ‘0’, ‘0’, ‘0’, ‘0’, ‘0’, ‘0’, ‘0’]]

[[‘11916’, ‘杨旺霖’, ‘0121701100527’, ‘5’, ‘5’, ‘5’, ‘5’, ‘5’, ‘5’, ‘30’], [‘11955’, ‘罗家威’, ‘0121701100622’, ‘5’, ‘5’, ‘5’, ‘5’, ‘5’, ‘5’, ‘30’]]

[3.11, 3.24, 2.97, 3.24, 2.57, 3.24]

file = './文件/成绩单.csv'
data = open(file, 'r', encoding='utf-8')
n = int(input())
ls1 = []
ls2 = []
with open(file, 'r', encoding='utf-8') as f:for line in f.readlines():line = line.strip('\n')ls = list(line.split(','))ls1.append(ls)ls1.sort(key=lambda x: eval(x[9]))print('最低分{}分,最高分{}分'.format(ls1[0][9], ls1[len(ls1) - 1][9]))
if n <= len(ls1):print(ls1[:n])print(ls1[(len(ls1) - n):])
else:print(ls1)print(ls1)
for j in range(3, 9):s = 0for i in ls1:s = s + eval(i[j])a = s / len(ls1)ls2.append(eval('%.2f' % a))
print(ls2)data.close()

运行的结果是:

最低分0分,最高分30分
[['12529', '朱佳年', '0121701100203', '0', '0', '0', '0', '0', '0', '0'], ['12347', '李世祥', '0121701100208', '0', '0', '0', '0', '0', '0', '0']]
[['11916', '杨旺霖', '0121701100527', '5', '5', '5', '5', '5', '5', '30'], ['11955', '罗家威', '0121701100622', '5', '5', '5', '5', '5', '5', '30']]
[3.11, 3.24, 2.97, 3.24, 2.57, 3.24]

相关内容

热门资讯

牛市狂奔他按兵不动!公募老将遭... 本报(chinatimes.net.cn)记者栗鹏菲 叶青 北京报道 在A股市场持续走强的2025年...
美联储主席:限制性政策或将调整... 当地时间2025年8月22日,美国怀俄明州杰克逊霍尔,美联储主席鲍威尔在杰克逊霍尔附近的提顿国家公园...
和前妻婚姻存续期内,男子向现任... 婚前,男子沈某先后与高某、马某非婚生子,后又相继与高某、马某结婚。在与高某婚姻关系存续期间,他向马某...
原创 妻... 据法院披露,李先生(化姓)与张女士(化姓)经人介绍相识恋爱,一年半后,双方登记结婚,并于2007年生...
涉嫌严重违纪违法,王莉霞何琼妹... 中央纪委国家监委8月22日消息,内蒙古自治区党委副书记、自治区政府主席王莉霞涉嫌严重违纪违法,目前正...
这钱花得值!拜仁2.18亿从英... 直播吧08月23日讯 在凌晨进行的新赛季德甲揭幕战上,拜仁6-0大胜RB莱比锡取得开门红,凯恩、奥利...
海岛花式度夏 海南暑期旅游人气... 新华社海口8月22日电(记者 陈子薇)落地海南,一口清补凉入喉,暑气瞬间消了一半。今年暑期,“到海南...
纪念中国人民抗日战争暨世界反法... 人民网平壤8月23日电 (记者刘融)8月22日,旅朝华侨、留学生共同举办纪念中国人民抗日战争暨世界反...
美法官裁定特朗普政府不得因“庇... 当地时间8月22日晚,美法官裁定,特朗普政府不得因为波士顿、芝加哥、丹佛、洛杉矶及其他30个城市和县...