fork download
  1. # your code goes here
  2.  
  3. class Klasemen:
  4. def __init__(self, daftarKlub:list[str]) -> None:
  5. self.poinKlub = {klub: 0 for klub in daftarKlub}
  6.  
  7. def catatPermainan(self, klubKandang:str, klubTandang:str, skor:str) -> None:
  8. skorKandang, skorTandang = map(int, skor.split(":"))
  9. if skorKandang > skorTandang:
  10. self.poinKlub[klubKandang] += 3
  11. elif skorKandang < skorTandang:
  12. self.poinKlub[klubTandang] += 3
  13. else:
  14. self.poinKlub[klubKandang] += 1
  15. self.poinKlub[klubTandang] += 1
  16.  
  17. def cetakKlasemen(self) -> dict[str, int]:
  18. sortedKlasemen = dict(sorted(self.poinKlub.items(), key=lambda x: x[1], reverse=True))
  19. return sortedKlasemen
  20.  
  21. def ambilPeringkat(self, nomorPeringkat:int) -> str:
  22. klubTerurut = list(self.cetakKlasemen())
  23. if 1 <= nomorPeringkat <= len(klubTerurut):
  24. return klubTerurut[nomorPeringkat - 1]
  25.  
  26. def main():
  27. klasemen = Klasemen(['Liverpool', 'Chelsea', 'Arsenal'])
  28. klasemen.catatPermainan('Arsenal', 'Liverpool', '2:1')
  29. klasemen.catatPermainan('Arsenal', 'Chelsea', '1:1')
  30. klasemen.catatPermainan('Chelsea', 'Arsenal', '0:3')
  31. klasemen.catatPermainan('Chelsea', 'Liverpool', '3:2')
  32. klasemen.catatPermainan('Liverpool', 'Arsenal', '2:2')
  33. klasemen.catatPermainan('Liverpool', 'Chelsea', '0:0')
  34. print(klasemen.cetakKlasemen())
  35. print(klasemen.ambilPeringkat(2))
  36.  
  37. if __name__ == "__main__":
  38. main()
Success #stdin #stdout 0.08s 14168KB
stdin
Standard input is empty
stdout
{'Arsenal': 8, 'Chelsea': 5, 'Liverpool': 2}
Chelsea