fork download
  1. class Klasemen():
  2. def __init__(self, daftar_klub: list[str]):
  3. # init klasemen klub
  4. self.daftar_klub = {klub: 0 for klub in daftar_klub}
  5.  
  6. def catatPermainan(self, klubKandang: str, klubTandang: str, skor: str):
  7. extract_skor = skor.split(":")
  8. # ganti tipe data
  9. skorKandang = int(extract_skor[0])
  10. skorTandang = int(extract_skor[1])
  11.  
  12. if(skorKandang > skorTandang):
  13. # klub kandang menang
  14. self.daftar_klub[klubKandang] += 3
  15. elif(skorKandang < skorTandang):
  16. # klub tandang menang
  17. self.daftar_klub[klubTandang] += 3
  18. else:
  19. # seri
  20. self.daftar_klub[klubKandang] += 1
  21. self.daftar_klub[klubTandang] += 1
  22.  
  23. # urutkan klasemen berdasarkan poin klub secara descending
  24. self.daftar_klub = dict(sorted(self.daftar_klub.items(), key=lambda x: x[1], reverse=True))
  25.  
  26. def cetakKlasemen(self):
  27. return list(self.daftar_klub.items())
  28.  
  29. def ambilPeringkat(self, peringkat: int):
  30. return list(self.daftar_klub.items())[peringkat-1][0]
  31.  
  32.  
  33. klasemen = Klasemen(['Liverpool', 'Chelsea', 'Arsenal'])
  34. klasemen.catatPermainan('Arsenal', 'Liverpool', '2:1')
  35. klasemen.catatPermainan('Arsenal', 'Chelsea', '1:1')
  36. klasemen.catatPermainan('Chelsea', 'Arsenal', '0:3')
  37. klasemen.catatPermainan('Chelsea', 'Liverpool', '3:2')
  38. klasemen.catatPermainan('Liverpool', 'Arsenal', '2:2')
  39. klasemen.catatPermainan('Liverpool', 'Chelsea', '0:0')
  40. print(klasemen.cetakKlasemen())
  41. print(klasemen.ambilPeringkat(2))
Success #stdin #stdout 0.03s 9864KB
stdin
Standard input is empty
stdout
[('Arsenal', 8), ('Chelsea', 5), ('Liverpool', 2)]
Chelsea