kodu anlamadım açıklayabilirmisiniz

Başlatan sannet, 02 Ocak 2020 - 13:16:20

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

sannet

class Sorgu():

    def __init__ (self):
        self.liste=[('1234','Maksim Gorki','Ekmeğimi Kazanırken','İş Bankası'),
                    ('2345','İtiraflarmım','Tolstoy','Antik'),
                    ('3456','Feryadım','Ahmet İzzet Paşa','Timaş')]

    def bul(self,değer,sıra):
        return[li for li in self.liste if değer==li[sıra]]

    def sorgula(self,skala=None,değer=None,):
        d={'isbn'    :self.bul(değer,0),
            'yazar'   :self.bul(değer,1),
            'eser'    :self.bul(değer,2),
            'yayınevi':self.bul(değer,3)}

        for öğe in d.get (skala, self.liste):
            print(*öğe, sep=', ')

etkileşimli kabuğu açıp
sorgu=deneme.Sorgu()
sorgu.sorgula()
dedğimde ekrana birşey yazdırmıyor hatam nerede acaba[/color]

.py

#1
kodda bazı hatalar var bir kitap listemiz var listede arama yaparak eslesen listeyi yazdıyor. bazı degislikler yaptım bul ve sorgula fonksiyonunlarında ufak değisiklikler yaptım sorun cozuldu.


class Sorgu():

    def __init__ (self):
        self.liste=(["1234",'Maksim Gorki','Ekmeğimi Kazanırken','İş Bankası'],
                    ["2345",'İtiraflarmım','Tolstoy','Antik'],
                    ["3456",'Feryadım','Ahmet İzzet Paşa','Timaş'])

    def bul(self, değer):
        return [liste for liste in self.liste if " ".join(liste).find(değer) is not -1]

    def sorgula(self, değer=None,):
        data = self.bul(değer)
        d={'isbn'    :data[0][0],
            'yazar'   :data[0][1],
            'eser'    :data[0][2],
            'yayınevi':data[0][3]}

        for öğe in zip(d.keys(), d.values()):
            print(*öğe, sep=': ')
   
sorgu=Sorgu()
sorgu.sorgula("Tolstoy")