fork download
  1. # M. Fauzan Al Zamzami - Magang Berdampak 2025 - Backend Developer Intern - Suitmedia
  2.  
  3. class Klasemen:
  4. def __init__(self, list_klub):
  5. self.poin = {}
  6. for klub in list_klub:
  7. self.poin[klub] = 0
  8.  
  9. def catat_permainan(self, klub_kandang, klub_tandang, skor):
  10. skor_kandang, skor_tandang = map(int, skor.split(":"))
  11.  
  12. if skor_kandang > skor_tandang:
  13. self.poin[klub_kandang] += 3
  14. elif skor_kandang < skor_tandang:
  15. self.poin[klub_tandang] += 3
  16. else:
  17. self.poin[klub_kandang] += 1
  18. self.poin[klub_tandang] += 1
  19.  
  20. def cetak_klasemen(self):
  21. klasemen = dict(sorted(self.poin.items(), key=lambda item: (-item[1], item[0])))
  22. return klasemen
  23.  
  24. def ambil_peringkat(self, nomor_peringkat):
  25. urutan_klub = list(self.cetak_klasemen().keys())
  26. if 1 <= nomor_peringkat <= len(urutan_klub):
  27. return urutan_klub[nomor_peringkat - 1]
  28. else:
  29. return None
  30.  
  31. klasemen = Klasemen(['Liverpool', 'Chelsea', 'Arsenal'])
  32. klasemen.catat_permainan('Arsenal', 'Liverpool', '2:1')
  33. klasemen.catat_permainan('Arsenal', 'Chelsea', '1:1')
  34. klasemen.catat_permainan('Chelsea', 'Arsenal', '0:3')
  35. klasemen.catat_permainan('Chelsea', 'Liverpool', '3:2')
  36. klasemen.catat_permainan('Liverpool', 'Arsenal', '2:2')
  37. klasemen.catat_permainan('Liverpool', 'Chelsea', '0:0')
  38.  
  39. print(klasemen.cetak_klasemen())
  40. print(klasemen.ambil_peringkat(2))
  41.  
Success #stdin #stdout 0.01s 7236KB
stdin
Standard input is empty
stdout
{'Liverpool': 2, 'Chelsea': 5, 'Arsenal': 8}
Chelsea