class Klasemen:
def __init__(self, klub_list):
self.klub_poin = {klub: 0 for klub in klub_list}
def catat_permainan(self, klub_kandang, klub_tandang, skor):
gol_kandang, gol_tandang = map(int, skor.split(':'))
if gol_kandang > gol_tandang:
self.klub_poin[klub_kandang] += 3
elif gol_kandang < gol_tandang:
self.klub_poin[klub_tandang] += 3
else:
self.klub_poin[klub_kandang] += 1
self.klub_poin[klub_tandang] += 1
def cetak_klasemen(self):
sorted_klasemen = dict(sorted(self.klub_poin.items(), key=lambda item: item[1], reverse=True))
return sorted_klasemen
def ambil_peringkat(self, nomor_peringkat):
sorted_klasemen = sorted(self.klub_poin.items(), key=lambda item: item[1], reverse=True)
if nomor_peringkat - 1 < 0 or nomor_peringkat - 1 >= len(sorted_klasemen):
return None
return sorted_klasemen[nomor_peringkat - 1][0]
klasemen = Klasemen(['Liverpool', 'Chelsea', 'Arsenal'])
klasemen.catat_permainan('Arsenal', 'Liverpool', '2:1')
klasemen.catat_permainan('Arsenal', 'Chelsea', '1:1')
klasemen.catat_permainan('Chelsea', 'Arsenal', '0:3')
klasemen.catat_permainan('Chelsea', 'Liverpool', '3:2')
klasemen.catat_permainan('Liverpool', 'Arsenal', '2:2')
klasemen.catat_permainan('Liverpool', 'Chelsea', '0:0')
print(klasemen.cetak_klasemen())
print(klasemen.ambil_peringkat(2))
Y2xhc3MgS2xhc2VtZW46CiAgICBkZWYgX19pbml0X18oc2VsZiwga2x1Yl9saXN0KToKICAgICAgICBzZWxmLmtsdWJfcG9pbiA9IHtrbHViOiAwIGZvciBrbHViIGluIGtsdWJfbGlzdH0KCiAgICBkZWYgY2F0YXRfcGVybWFpbmFuKHNlbGYsIGtsdWJfa2FuZGFuZywga2x1Yl90YW5kYW5nLCBza29yKToKICAgICAgICBnb2xfa2FuZGFuZywgZ29sX3RhbmRhbmcgPSBtYXAoaW50LCBza29yLnNwbGl0KCc6JykpCiAgICAgICAgCiAgICAgICAgaWYgZ29sX2thbmRhbmcgPiBnb2xfdGFuZGFuZzoKICAgICAgICAgICAgc2VsZi5rbHViX3BvaW5ba2x1Yl9rYW5kYW5nXSArPSAzCiAgICAgICAgZWxpZiBnb2xfa2FuZGFuZyA8IGdvbF90YW5kYW5nOgogICAgICAgICAgICBzZWxmLmtsdWJfcG9pbltrbHViX3RhbmRhbmddICs9IDMKICAgICAgICBlbHNlOgogICAgICAgICAgICBzZWxmLmtsdWJfcG9pbltrbHViX2thbmRhbmddICs9IDEKICAgICAgICAgICAgc2VsZi5rbHViX3BvaW5ba2x1Yl90YW5kYW5nXSArPSAxCgogICAgZGVmIGNldGFrX2tsYXNlbWVuKHNlbGYpOgogICAgICAgIHNvcnRlZF9rbGFzZW1lbiA9IGRpY3Qoc29ydGVkKHNlbGYua2x1Yl9wb2luLml0ZW1zKCksIGtleT1sYW1iZGEgaXRlbTogaXRlbVsxXSwgcmV2ZXJzZT1UcnVlKSkKICAgICAgICByZXR1cm4gc29ydGVkX2tsYXNlbWVuCgogICAgZGVmIGFtYmlsX3BlcmluZ2thdChzZWxmLCBub21vcl9wZXJpbmdrYXQpOgogICAgICAgIHNvcnRlZF9rbGFzZW1lbiA9IHNvcnRlZChzZWxmLmtsdWJfcG9pbi5pdGVtcygpLCBrZXk9bGFtYmRhIGl0ZW06IGl0ZW1bMV0sIHJldmVyc2U9VHJ1ZSkKICAgICAgICBpZiBub21vcl9wZXJpbmdrYXQgLSAxIDwgMCBvciBub21vcl9wZXJpbmdrYXQgLSAxID49IGxlbihzb3J0ZWRfa2xhc2VtZW4pOgogICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgIHJldHVybiBzb3J0ZWRfa2xhc2VtZW5bbm9tb3JfcGVyaW5na2F0IC0gMV1bMF0KCmtsYXNlbWVuID0gS2xhc2VtZW4oWydMaXZlcnBvb2wnLCAnQ2hlbHNlYScsICdBcnNlbmFsJ10pCmtsYXNlbWVuLmNhdGF0X3Blcm1haW5hbignQXJzZW5hbCcsICdMaXZlcnBvb2wnLCAnMjoxJykKa2xhc2VtZW4uY2F0YXRfcGVybWFpbmFuKCdBcnNlbmFsJywgJ0NoZWxzZWEnLCAnMToxJykKa2xhc2VtZW4uY2F0YXRfcGVybWFpbmFuKCdDaGVsc2VhJywgJ0Fyc2VuYWwnLCAnMDozJykKa2xhc2VtZW4uY2F0YXRfcGVybWFpbmFuKCdDaGVsc2VhJywgJ0xpdmVycG9vbCcsICczOjInKQprbGFzZW1lbi5jYXRhdF9wZXJtYWluYW4oJ0xpdmVycG9vbCcsICdBcnNlbmFsJywgJzI6MicpCmtsYXNlbWVuLmNhdGF0X3Blcm1haW5hbignTGl2ZXJwb29sJywgJ0NoZWxzZWEnLCAnMDowJykKCnByaW50KGtsYXNlbWVuLmNldGFrX2tsYXNlbWVuKCkpCnByaW50KGtsYXNlbWVuLmFtYmlsX3BlcmluZ2thdCgyKSk=