fork download
  1. class Klasemen:
  2. def __init__(self, klub):
  3. self.poin = {nama: 0 for nama in klub}
  4.  
  5. def catatPermainan(self, klubKandang, klubTandang, skor):
  6. skorKandang, skorTandang = map(int, skor.split(":"))
  7.  
  8. if skorKandang > skorTandang:
  9. self.poin[klubKandang] += 3
  10. elif skorTandang > skorKandang:
  11. self.poin[klubTandang] += 3
  12. else:
  13. self.poin[klubKandang] += 1
  14. self.poin[klubTandang] += 1
  15.  
  16. def cetakKlasemen(self):
  17. return dict(sorted(
  18. self.poin.items(),
  19. key=lambda item: (-item[1], item[0])
  20. ))
  21.  
  22. def ambilPeringkat(self, nomorPeringkat):
  23. klasemen = self.cetakKlasemen()
  24.  
  25. if nomorPeringkat < 1 or nomorPeringkat > len(klasemen):
  26. raise ValueError("Nomor peringkat tidak valid")
  27.  
  28. return list(klasemen.keys())[nomorPeringkat - 1]
  29.  
  30. klasemen = Klasemen(["Liverpool", "Chelsea", "Arsenal"])
  31.  
  32. klasemen.catatPermainan("Arsenal", "Liverpool", "2:1")
  33. klasemen.catatPermainan("Arsenal", "Chelsea", "1:1")
  34. klasemen.catatPermainan("Chelsea", "Arsenal", "0:3")
  35. klasemen.catatPermainan("Chelsea", "Liverpool", "3:2")
  36. klasemen.catatPermainan("Liverpool", "Arsenal", "2:2")
  37. klasemen.catatPermainan("Liverpool", "Chelsea", "0:0")
  38.  
  39. print(klasemen.cetakKlasemen())
  40. print(klasemen.ambilPeringkat(2))
  41.  
Success #stdin #stdout 0.07s 14184KB
stdin
Standard input is empty
stdout
{'Arsenal': 8, 'Chelsea': 5, 'Liverpool': 2}
Chelsea