Python ödev yardımı

Ödevimdeki bu soruyu bir türlü yapamadım.Yardımcı olursanız sevinirim.

Neresini anlayamadiniz?

Nasıl bir yapı oluşturacağım konusunda kafa karışıklığı yaşıyorum.

class Okul:
    def __init__(self, ad):
        self.ad = ad

class Mahalle:
    def __init__(self, ad, okullar):
        self.ad = ad
        self.okullar = okullar

class Ilce:
    def __init__(self, ad, mahalleler):
        self.ad = ad
        self.mahalleler = mahalleler
    
    def tum_okullari_getir(self):
        l = list()
        for i in self.mahalleler:
            for x in i.okullar:
                l.append(x)

        return l

class Il:
    def __init__(self, ad, ilceler):
        self.ad = ad
        self.ilceler = ilceler
    
    def tum_mahalleleri_getir(self):
        l = list()
        for ilce in self.ilceler:
            for mah in ilce.mahalleler:
                l.append(mah)
        return l
    def tum_okullari_getir(self):
        mahs = self.tum_mahalleleri_getir()
        l = list()
        for mah in mahs:
            for okul in mah.okullar:
                l.append(okul)
        return l

şöyle bir yapı kurulabilir. Sorguları da siz halledip buradan paylaşabilirsiniz.

Soru metni okunmuyor, uzerine baska bir yazi gelmis.

Nasil yapi olusturulacagi ise: Illeri ilcelere, ilceleri mahellelere, mahalleleri okullara baglayan herhangi bir (veya 3) yapi olabilir. En basidi kucugu buyuge baglayan {okul: mahallle} seklinde dict’lerdir herhalde.