大学排名没有绝对的公正与权威,附件(alumni.txt, soft.txt)中为按照不同评价体系给出的国内大学前100名排行,对比两个排行榜单前m的学校的上榜情况,分析不同排行榜排名的差异。根据输入,输出以下内容:第一行输入1,第二行输入m,输出在alumni.txt和soft.txt榜单中均在前m个记录的大学,按照学校名称升序。第一行输入2,第二行输入m,输出在alumni.txt或者soft.txt榜单中前m个记录的所有大学,按照学校名称升序。第一行输入3第二行输入m,输出出现在榜单alumni.txt中前m个记录但未出现在榜单soft.txt前m个记录中的大学,按照学校名称升序。第一行输入4第二行输入m,输出没有同时出现在榜单alumni.txt前m个记录和榜单soft.txt前m个记录的大学,按照学校名称升序。第一行输入其他数据,则直接输出‘Wrong Option'
时间: 2023-11-22 14:51:51 浏览: 215
【python123题库附件】大学排行榜分析
附件中没有上传,无法进行具体操作。以下为伪代码实现:
```
option = input() # 输入操作选项
m = int(input()) # 输入前m个记录
# 读取alumni.txt和soft.txt文件中的大学
with open('alumni.txt', 'r') as f1:
alumni = [line.strip() for line in f1.readlines()]
with open('soft.txt', 'r') as f2:
soft = [line.strip() for line in f2.readlines()]
if option == '1': # 在alumni.txt和soft.txt榜单中均在前m个记录的大学
common = set(alumni[:m]).intersection(set(soft[:m]))
common = sorted(list(common))
for university in common:
print(university)
elif option == '2': # 在alumni.txt或者soft.txt榜单中前m个记录的所有大学
union = set(alumni[:m]).union(set(soft[:m]))
union = sorted(list(union))
for university in union:
print(university)
elif option == '3': # 出现在榜单alumni.txt中前m个记录但未出现在榜单soft.txt前m个记录中的大学
alumni_m = set(alumni[:m])
soft_m = set(soft[:m])
diff = alumni_m.difference(soft_m)
diff = sorted(list(diff))
for university in diff:
print(university)
elif option == '4': # 没有同时出现在榜单alumni.txt前m个记录和榜单soft.txt前m个记录的大学
alumni_m = set(alumni[:m])
soft_m = set(soft[:m])
diff = set(alumni).difference(set(soft)).union(set(soft).difference(set(alumni)))
diff = sorted(list(diff))
for university in diff:
print(university)
else: # 错误选项
print('Wrong Option')
```
阅读全文