当前位置:   article > 正文

大学排行榜分析---Python_大学排行榜分析python

大学排行榜分析python
  1. path = '/data/bigfiles/' # 路径 不然会出现报错
  2. def read_file(file, m):
  3. """读文件中的学校名到列表中,返回前m个记录的学校集合"""
  4. with open(path + file, 'r',encoding='utf-8') as f:
  5. lines=[]
  6. for i in range(m):
  7. line=f.readline().strip("\n")
  8. lines.append(line.split()[1])#对一行的字符串内容分割成列表,取这个列表索引位置1的元素
  9. return lines
  10. def either_in_top(alumni, soft):
  11. """接收两个排行榜前m高校名字集合,
  12. 获得在这两个排行榜中均在前m个记录的学校名,按照学校名称排序,
  13. 返回排序后的列表
  14. """
  15. result=[]
  16. for i in range(len(alumni)):
  17. if alumni[i] in soft:#如果同时在两个表中都有这个学校
  18. result.append(alumni[i])
  19. result.sort()#升序排序
  20. return result
  21. def all_in_top(alumni, soft):
  22. """接收两个排行榜前m高校名字集合,
  23. 获得在两个榜单中名列前m的所有学校名,按照学校名称排序,
  24. 返回排序后的列表
  25. """
  26. result=[]
  27. result.extend(alumni)#列表合并alumni
  28. result.extend(soft)#列表合并soft
  29. result=list(set(result))#列表去重
  30. result.sort()#升序排序
  31. return result
  32. def only_alumni(alumni, soft):
  33. """接收两个排行榜前m高校名字集合,
  34. 获得在alumni榜单中名列前m但soft榜单中未进前m的学校名,
  35. 按照学校名称排序,返回排序后的列表
  36. """
  37. result=[]
  38. for i in range(len(alumni)):
  39. if alumni[i] in soft:
  40. continue
  41. else:#如果在alumni榜单中名列前m但soft榜单中未进前m的学校名
  42. result.append(alumni[i])
  43. result.sort()#升序排序
  44. return result
  45. def only_once(alumni, soft):
  46. """接收两个排行榜前m高校名字集合,
  47. 获得在alumni和soft榜单中名列前m,但不同时出现在两个榜单的学校名,
  48. 按照学校名称排序,返回排序后的列表
  49. """
  50. result=[]
  51. for i in range(len(alumni)):
  52. if alumni[i] in soft:
  53. continue
  54. else:#如果在alumni榜单中名列前m但soft榜单中未进前m的学校名
  55. result.append(alumni[i])
  56. for i in range(len(soft)):
  57. if soft[i] in alumni:
  58. continue
  59. else:#如果在soft榜单中名列前m但alumni榜单中未进前m的学校名
  60. result.append(soft[i])
  61. result.sort()#升序排序
  62. return result
  63. def judge(n):
  64. if n in '1234':
  65. m = int(input())
  66. alumni_set = read_file('./alumni.txt', m)
  67. soft_set = read_file('./soft.txt', m)
  68. if n == '1':
  69. either_rank = either_in_top(alumni_set, soft_set)
  70. print(f'两榜单中均名列前{m}的学校:')
  71. print(either_rank)
  72. elif n == '2':
  73. all_rank = all_in_top(alumni_set, soft_set)
  74. print(f'两榜单名列前{m}的所有学校:')
  75. print(all_rank)
  76. elif n == '3':
  77. only_in_alumni_rank = only_alumni(alumni_set, soft_set)
  78. print(f'alumni中名列前{m},soft中未进前{m}的学校:')
  79. print(only_in_alumni_rank)
  80. elif n == '4':
  81. alumni_soft_rank = only_once(alumni_set, soft_set)
  82. print(f'不同时出现在两个榜单前{m}的学校:')
  83. print(alumni_soft_rank)
  84. else:
  85. print('Wrong Option')
  86. if __name__ == '__main__':
  87. num = input()
  88. judge(num)
  1. x = set('runoob')
  2. y = set('google')
  3. print(x) #重复的被删除
  4. print(y) #重复的被删除
  5. print(x&y) #返回一个新的集合,包括同时在集合 x 和y中的共同元素。
  6. print(x|y) #返回一个新的集合,包括集合 x 和 y 中所有元素。
  7. print(x^y) #返回一个新的集合,包括集合 x 和 y 的非共同元素。
  8. print(x-y) #返回一个新的集合,包括在集合 x 中但不在集合 y 中的元素。
'
运行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/798150
推荐阅读
相关标签
  

闽ICP备14008679号