Advertisement
Jure199

Untitled

Jan 14th, 2015
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.73 KB | None | 0 0
  1. import random
  2.  
  3. a = [(name, random.sample(range(-1, 101), 6)) for name in ["Adian Grobelnik", "Luka Jerman",
  4.                                                          "Matija Marjan", "Nermin Huseinović", "Jurij Berak",
  5.                                                          "John Staller", "Niko Slapar", "Daniel Železnik",
  6.                                                          "Simon Janežič", "Armin Grasseli",
  7.                                                          "Ivo Mitrović", "Jan Babnik", "Domen Devatak",
  8.                                                          "Ana Bobnar", "Jana Milek", "Nina Robar", "Anja Šoštaršoč",
  9.                                                          "Mija Levstnik", "Tija Hlade", "Lina Repar", "Maja Ceglar",
  10.                                                          "Hana Durić", "Viktorija Marušič", "Luna Smole", "Tara Novak",
  11.                                                          "Pia Podobnik"]]
  12.  
  13. absoluteGrade = []
  14. relativeGrade = []
  15.  
  16.  
  17. for name, scores in a:
  18.  
  19.     print("name: {}, score: {}".format(name,scores))
  20.  
  21.     tmp_scores = scores.copy() #so we don't affect the actual scores
  22.  
  23.     #remove non-existant tests
  24.     while -1 in tmp_scores:
  25.         tmp_scores.remove(-1)
  26.  
  27.     #calculate the relative score
  28.     relative = sum(tmp_scores) / len(tmp_scores)
  29.     relativeGrade.append(relative)
  30.     print("{}, relative score: {}".format(name, relative))
  31.  
  32.     #and the absolute score
  33.     abso = sum(tmp_scores) / 6
  34.     absoluteGrade.append(abso)
  35.     print("{}, absolute score: {}".format(name, abso))
  36.  
  37.     # Maximum, minimum and name
  38.  
  39.  
  40.  
  41.     # F
  42.     print("{}, ocene: {}, absolutno povprečje {}, relativno povprecje {},"
  43.     "najboljsi rezultat, je dosegel na : {}, najslabsi rezultat je dosegel na: {}".format(name,scores, abso, relative,
  44.      scores.index(max(scores))+1,scores.index(min(scores))+1))
  45.  
  46. print("{},najvecja absolutna ocena: {},{} ,najmanjsa absolutna ocena: {}".format(a[absoluteGrade.index(max(absoluteGrade))][0],max(absoluteGrade),a[absoluteGrade.index(min(absoluteGrade))][0], min(absoluteGrade)))
  47.  
  48. stars = [0]*9
  49. for scores in absoluteGrade:
  50.     global stars
  51.     if scores > 90: stars [0] +=1
  52.     if scores > 80: stars [1] +=1
  53.     if scores > 70: stars [2] +=1
  54.     if scores > 60: stars [3] +=1
  55.     if scores > 50: stars [4] +=1
  56.     if scores > 40: stars [5] +=1
  57.     if scores > 30: stars [6] +=1
  58.     if scores > 20: stars [7] +=1
  59.     else: stars[8] +=1
  60. percents = ["<20%",
  61.             "21% to 31%",
  62.             "31% to 41",
  63.             "41% to 51",
  64.             "51% to 61",
  65.             "61% to 71%",
  66.             "71% to 81%",
  67.             "81% ti 91%",
  68.             "91% to 100%",]
  69.  
  70. for number, starcount in enumerate(reversed(stars)):
  71.     print("{}: {} {}".format(percents[number], starcount, starcount*"*"))
  72.  
  73. emptyList = []
  74.  
  75. first_tests = [scores[0] for name, scores in a]
  76. average1st = sum(first_tests)/len(first_tests)
  77. emptyList.append(average1st)
  78.  
  79. second_tests = [scores[1] for name, scores in a]
  80. average2nd = sum(second_tests)/len(second_tests)
  81. emptyList.append(average2nd)
  82.  
  83. third_tests = [scores[2] for name, scores in a]
  84. average3rd = sum(third_tests)/len(third_tests)
  85. emptyList.append(average3rd)
  86.  
  87. forth_tests = [scores[3] for name, scores in a]
  88. average4th = sum(forth_tests)/len(forth_tests)
  89. emptyList.append(average4th)
  90.  
  91. fifth_tests = [scores[4] for name, scores in a]
  92. average5th = sum(fifth_tests)/len(fifth_tests)
  93. emptyList.append(average5th)
  94.  
  95. last_tests = [scores[5] for name, scores in a]
  96. averageLast = sum(last_tests)/len(last_tests)
  97. emptyList.append(averageLast)
  98.  
  99. bestTest = max(emptyList)
  100. worstTest = min(emptyList)
  101. print("Najboljše so se odrezali na testu:", bestTest, "Najslabše pa na testu:", worstTest)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement