fork download
  1. class Klasemen:
  2. def __init__(self, klubSepakbola: list):
  3. defaultSkor = 0
  4. self.dataKlub = dict.fromkeys(klubSepakbola, defaultSkor)
  5.  
  6. def catatPermainan(self, klubKandang: str, klubTandang: str, skor: str):
  7. skorSplitted = skor.split(":")
  8. if skorSplitted[0] > skorSplitted[1]:
  9. self.dataKlub[klubKandang] += 3
  10. elif skorSplitted[0] < skorSplitted[1]:
  11. self.dataKlub[klubTandang] += 3
  12. else:
  13. self.dataKlub[klubKandang] += 1
  14. self.dataKlub[klubTandang] += 1
  15.  
  16. def cetakKlasemen(self) -> list:
  17. klasemen = []
  18. klasemenSorted = sorted(self.dataKlub.items(), key=lambda item: item[1], reverse=True)
  19. for klub in klasemenSorted:
  20. klasemen.append(f"{klub[0]}=>{klub[1]}")
  21.  
  22. return klasemen
  23.  
  24. def ambilPeringkat(self, nomorPeringkat) -> str:
  25. klasemenSorted = sorted(self.dataKlub.items(), key=lambda item: item[1], reverse=True)
  26.  
  27. return klasemenSorted[nomorPeringkat-1][0]
  28.  
  29. if __name__ == "__main__":
  30. klubSepakbola = ["Liverpool", "Chelsea", "Arsenal"]
  31.  
  32. klasemen = Klasemen(klubSepakbola)
  33. klasemen.catatPermainan("Arsenal", "Liverpool", "2:1")
  34. klasemen.catatPermainan("Arsenal", "Chelsea", "1:1")
  35. klasemen.catatPermainan("Chelsea", "Arsenal", "0:3")
  36. klasemen.catatPermainan("Chelsea", "Liverpool", "3:2")
  37. klasemen.catatPermainan("Liverpool", "Arsenal", "2:2")
  38. klasemen.catatPermainan("Liverpool", "Chelsea", "0:0")
  39.  
  40. print(klasemen.cetakKlasemen())
  41.  
  42. print(klasemen.ambilPeringkat(2))
Success #stdin #stdout 0.08s 14040KB
stdin
Standard input is empty
stdout
['Arsenal=>8', 'Chelsea=>5', 'Liverpool=>2']
Chelsea