当前位置:   article > 正文

Python大学排行榜_python:编写一个能进行大学排行榜分析的小程序。

python:编写一个能进行大学排行榜分析的小程序。

 

  1. def read_file(file):
  2. """@参数 file:文件名,字符串类型
  3. 读文件中的学校名到列表中,返回排名前10学校集合,集合类型。
  4. """
  5. s = set()
  6. f = open(file, 'r', encoding='utf-8')# 打开要去掉空行的文件
  7. l = f.readlines()
  8. for j in l:
  9. if file == "soft.txt":
  10. j = j.split(" ")
  11. j[1] = j[1][:-1]
  12. else:
  13. j = j.split(" ")
  14. if int(j[0])<=10:
  15. s.add(j[1])
  16. else:
  17. break
  18. return s
  19. def either_in_top(alumni, soft):
  20. """
  21. @参数 alumni:alumni大学排行榜中排名前10的学校的集合,集合类型
  22. @参数 soft:soft大学排行榜中排名前10的学校的集合,集合类型
  23. 接收两个排行榜前10高校名字集合,返回在这两个排行榜中均名列前10的学校名。
  24. """
  25. return (alumni & soft)
  26. def all_in_top(alumni, soft):
  27. """
  28. @参数 alumni:alumni大学排行榜中排名前10的学校的集合,集合类型
  29. @参数 soft:soft大学排行榜中排名前10的学校的集合,集合类型
  30. 接收两个排行榜前10高校名字集合,
  31. 返回在两个榜单中名列前10的所有学校名。
  32. """
  33. return (alumni | soft)
  34. def only_alumni(alumni, soft):
  35. """
  36. @参数 alumni:alumni大学排行榜中排名前10的学校的集合,集合类型
  37. @参数 soft:soft大学排行榜中排名前10的学校的集合,集合类型
  38. 接收两个排行榜前10高校名字集合,返回在alumni榜单中名列前10但soft榜单中未进前10的学校名。
  39. """
  40. return (alumni.difference(soft))
  41. def only_one(alumni, soft):
  42. """
  43. @参数 alumni:alumni大学排行榜中排名前10的学校的集合,集合类型
  44. @参数 soft:soft大学排行榜中排名前10的学校的集合,集合类型
  45. 接收两个排行榜前10高校名字集合,返回在alumni和soft榜单中名列前10,
  46. 但不同时出现在两个榜单的学校名。
  47. """
  48. either_rank = either_in_top(alumni_set, soft_set)
  49. all_rank = all_in_top(alumni_set, soft_set)
  50. return (all_rank.symmetric_difference(either_rank))
  51. if __name__ == '__main__':
  52. alumni_set = read_file('alumni.txt') #路径像我一样就要.py文件和.txt文件放在相同目录下
  53. soft_set = read_file('soft.txt')
  54. either_rank = either_in_top(alumni_set, soft_set)
  55. all_rank = all_in_top(alumni_set, soft_set)
  56. only_in_alumni_rank = only_alumni(alumni_set, soft_set)
  57. alumni_soft_rank = only_one(alumni_set, soft_set)
  58. print(either_in_top(alumni_set, soft_set))
  59. print("\n")
  60. print(f'两榜单中均名列前10的学校{either_rank}')
  61. print("\n")
  62. print(f'两榜单名列前10的所有学校{all_rank}')
  63. print("\n")
  64. print(f'alumni中名列前10,soft中未进前10的学校{only_in_alumni_rank}')
  65. print("\n")
  66. print(f'不同时出现在两个榜单前10的学校{alumni_soft_rank}')

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

闽ICP备14008679号