class Klasemen:
def __init__(self, daftar_klub):
# inisialisasi semua poin klub = 0
self.poin_klub = {klub: 0 for klub in daftar_klub}
def catatPermainan(self, klubKandang, klubTandang, skor):
skor_kandang, skor_tandang = map(int, skor.split(':'))
if skor_kandang > skor_tandang:
self.poin_klub[klubKandang] += 3
elif skor_kandang < skor_tandang:
self.poin_klub[klubTandang] += 3
else:
self.poin_klub[klubKandang] += 1
self.poin_klub[klubTandang] += 1
def cetakKlasemen(self):
return sorted(self.poin_klub.items(), key=lambda x: (-x[1], x[0]))
def ambilPeringkat(self, nomor):
klasemen = self.cetakKlasemen()
if 1 <= nomor <= len(klasemen):
return klasemen[nomor - 1][0] # ambil nama klub
else:
return None
klasemen = Klasemen(['Liverpool', 'Chelsea', 'Arsenal', 'Persija'])
klasemen.catatPermainan('Arsenal', 'Liverpool', '2:1')
klasemen.catatPermainan('Arsenal', 'Chelsea', '1:1')
klasemen.catatPermainan('Chelsea', 'Arsenal', '0:3')
klasemen.catatPermainan('Liverpool', 'Persija', '1:3')
print(klasemen.cetakKlasemen()) #print total poin dari masing2 klub
print(klasemen.ambilPeringkat(2)) #print klub peringkat sekian
Y2xhc3MgS2xhc2VtZW46CiAgICBkZWYgX19pbml0X18oc2VsZiwgZGFmdGFyX2tsdWIpOgogICAgICAgICMgaW5pc2lhbGlzYXNpIHNlbXVhIHBvaW4ga2x1YiA9IDAKICAgICAgICBzZWxmLnBvaW5fa2x1YiA9IHtrbHViOiAwIGZvciBrbHViIGluIGRhZnRhcl9rbHVifQoKICAgIGRlZiBjYXRhdFBlcm1haW5hbihzZWxmLCBrbHViS2FuZGFuZywga2x1YlRhbmRhbmcsIHNrb3IpOgogICAgICAgIHNrb3Jfa2FuZGFuZywgc2tvcl90YW5kYW5nID0gbWFwKGludCwgc2tvci5zcGxpdCgnOicpKQoKICAgICAgICBpZiBza29yX2thbmRhbmcgPiBza29yX3RhbmRhbmc6CiAgICAgICAgICAgIHNlbGYucG9pbl9rbHViW2tsdWJLYW5kYW5nXSArPSAzCiAgICAgICAgZWxpZiBza29yX2thbmRhbmcgPCBza29yX3RhbmRhbmc6CiAgICAgICAgICAgIHNlbGYucG9pbl9rbHViW2tsdWJUYW5kYW5nXSArPSAzCiAgICAgICAgZWxzZToKICAgICAgICAgICAgc2VsZi5wb2luX2tsdWJba2x1YkthbmRhbmddICs9IDEKICAgICAgICAgICAgc2VsZi5wb2luX2tsdWJba2x1YlRhbmRhbmddICs9IDEKCiAgICBkZWYgY2V0YWtLbGFzZW1lbihzZWxmKToKICAgIAlyZXR1cm4gc29ydGVkKHNlbGYucG9pbl9rbHViLml0ZW1zKCksIGtleT1sYW1iZGEgeDogKC14WzFdLCB4WzBdKSkKCiAgICBkZWYgYW1iaWxQZXJpbmdrYXQoc2VsZiwgbm9tb3IpOgogICAgCWtsYXNlbWVuID0gc2VsZi5jZXRha0tsYXNlbWVuKCkKICAgIAlpZiAxIDw9IG5vbW9yIDw9IGxlbihrbGFzZW1lbik6CiAgICAgICAgCXJldHVybiBrbGFzZW1lbltub21vciAtIDFdWzBdICAjIGFtYmlsIG5hbWEga2x1YgogICAgCWVsc2U6CiAgICAJICAgIHJldHVybiBOb25lCmtsYXNlbWVuID0gS2xhc2VtZW4oWydMaXZlcnBvb2wnLCAnQ2hlbHNlYScsICdBcnNlbmFsJywgJ1BlcnNpamEnXSkKa2xhc2VtZW4uY2F0YXRQZXJtYWluYW4oJ0Fyc2VuYWwnLCAnTGl2ZXJwb29sJywgJzI6MScpCmtsYXNlbWVuLmNhdGF0UGVybWFpbmFuKCdBcnNlbmFsJywgJ0NoZWxzZWEnLCAnMToxJykKa2xhc2VtZW4uY2F0YXRQZXJtYWluYW4oJ0NoZWxzZWEnLCAnQXJzZW5hbCcsICcwOjMnKQprbGFzZW1lbi5jYXRhdFBlcm1haW5hbignTGl2ZXJwb29sJywgJ1BlcnNpamEnLCAnMTozJykKCnByaW50KGtsYXNlbWVuLmNldGFrS2xhc2VtZW4oKSkgI3ByaW50IHRvdGFsIHBvaW4gZGFyaSBtYXNpbmcyIGtsdWIKCnByaW50KGtsYXNlbWVuLmFtYmlsUGVyaW5na2F0KDIpKSAjcHJpbnQga2x1YiBwZXJpbmdrYXQgc2VraWFuCgo=