【python二级】全球大学排名

您所在的位置:网站首页 芝加哥理工学院 【python二级】全球大学排名

【python二级】全球大学排名

#【python二级】全球大学排名| 来源: 网络整理| 查看: 265

问题描述

在省略号处填写一行或多行代码,完成如下功能‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

data. txt,其中记录了2019年QS全球大学排名前20名的学校信息,示例如下:‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

1,麻省理工学院,美国 2,斯坦福大学,美国 3,哈佛大学,美国 第一列为排名,第2列为学校名称,第3列为学校所属的国家,字段之间用逗号’,'隔开‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

程序读取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’去掉。 然后就是关键的一步,把国家作为键,给它的值的列表填上每一行这个国家对应的大学作为元素。 然后就是输出。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3