Advertisement
logancberrypie

ESR leaderboard code

Jun 14th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1.  
  2. location ="C:\\Users\\logan\\Downloads\\ESR LeaderBoard S1 - Overal (11).csv"
  3.  
  4.  
  5. def getData():
  6. file = open(location,"r")
  7. data = file.read()
  8. data = data.replace("\n",",")
  9. array = data.split(",")
  10. #for i in range(0,len(array)):
  11. #print(array[i])
  12. return array
  13.  
  14.  
  15. class Player:
  16. currentPlayers =[]
  17. def __init__(self, name, kills,rounds,average):
  18. self.stats = [name,kills,rounds,average]
  19.  
  20. def __str__(self):
  21. string = "\n\
  22. Name : "+self.stats[0]+"\n\
  23. Kills : "+self.stats[1]+"\n\
  24. Rounds : "+self.stats[2]+"\n\
  25. Average : "+self.stats[3]+"\n"
  26.  
  27. return string
  28.  
  29.  
  30. def generate_Players():
  31. data = getData()
  32. lenght = len(data)
  33. i = 5
  34. while(i < lenght):
  35. name = data[i+1]
  36. kills = data[i+2]
  37. rounds = data[i+3]
  38. average = data[i+4]
  39.  
  40. newPlayer = Player(name, kills,rounds,average)
  41. Player.currentPlayers.append(newPlayer)
  42. i += 5
  43. for player in Player.currentPlayers:
  44. #print(player)
  45. a = 0
  46.  
  47.  
  48. #Simple selection sort
  49. def sort_by_column(column):
  50. List = Player.currentPlayers
  51. sortedPointer = 0
  52. lenght = len(List)
  53. while(sortedPointer < lenght):
  54. currentMaxPointer = sortedPointer
  55. currentMax = List[currentMaxPointer].stats[column]
  56. for i in range(0,lenght-sortedPointer):
  57. value = List[sortedPointer + i].stats[column]
  58. if float(value) > float(currentMax):
  59. currentMax = value
  60. currentMaxPointer = sortedPointer + i
  61. List[sortedPointer], List[currentMaxPointer] = List[currentMaxPointer],List[sortedPointer]
  62. sortedPointer += 1
  63. for element in List:
  64. #print(element)
  65. a=0
  66.  
  67. def generateRank(column):
  68. List = Player.currentPlayers
  69. lenght = len(List)
  70. rank = 0
  71. while (rank < lenght-1):
  72. value = List[rank].stats[column]
  73. name = List[rank].stats[0]
  74. string = "#"+str(rank+1)+" "+name
  75. j = 1
  76. while (value == List[rank+j].stats[column]):
  77. string += "/"+List[rank+j].stats[0]
  78. if (rank+j+1 < lenght):
  79. j += 1
  80. else:
  81. break
  82. string += " - "+str(value)
  83. print(string)
  84. rank += j
  85.  
  86.  
  87.  
  88. generate_Players()
  89. print("--------------------------------")
  90. print("Total Kills")
  91. print(" ")
  92. sort_by_column(1)
  93. generateRank(1)
  94. print("--------------------------------")
  95. print("Total Rounds")
  96. print(" ")
  97. sort_by_column(2)
  98. generateRank(2)
  99. print("--------------------------------")
  100. print("Kills per round")
  101. print(" ")
  102. sort_by_column(3)
  103. generateRank(3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement