【python二级】全球大学排名
发布时间
阅读量:
阅读量
问题描述
在省略号处填写一行或多行代码,完成如下功能
data. txt,其中记录了2019年QS全球大学排名前20名的学校信息,示例如下:
第一列为排名位置,第二列为学校的名称(麻省理工、斯坦福、哈佛),第三列为所属国家(美国)。
程序获取data.txt文件内容并进行分析处理
示例
美国:麻省理工、斯坦福等共拥有11所顶尖学府;英国:牛津、剑桥等世界著名高等学府共有5所
答案
f = open('data.txt', 'r',encoding="utf-8")
unis={'美国':[],'英国':[],'瑞士':[],'新加坡':[],'中国':[]}
for line in f:
if line=='\n':
continue
else:
text=line.split(',')
text[2]=text[2].replace('\n','')
unis[text[2]].append(text[1])
for d in unis:
print('{:>4}: {:>4} : {}'.format(d,len(unis[d]),','.join(unis[d])))
简要说明:
这道题实际上是让你去定义一个二维数据,并且考虑到统计个数,用到字典更好。把键设置成国家,值则是一个包含了这个国家所有大学的列表。
定义好了后,接下来往里面装东西。
去遍历文件的每一行,用f、f.readlines()都可以,不要用f.read(),因为那样就不是一行一行遍历。然后判断遍历到的这一行是不是空行,是就用continue跳过,不是就用split把它变成一个列表,并把最后一个元素后边的’\n’去掉。
然后就是关键的一步,把国家作为键,给它的值的列表填上每一行这个国家对应的大学作为元素。
然后就是输出。
全部评论 (0)
还没有任何评论哟~
