[PYTHON] Seitenverarbeitungsklasse

Eine Klasse für die Seitenverarbeitung wie "Goooooooooogle". Wenn Sie die Gesamtzahl der Elemente, die Anzahl der Elemente pro Seite und die Anzahl der Seiten, die gleichzeitig im Konstruktor angezeigt werden sollen, übergeben und die aktuell in der Inhaltsmethode angezeigte Seite übergeben, wird die minimale Anzahl von Seiten in min und die maximale Anzahl von Seiten in max zurückgegeben. Kommen Sie. Ich möchte eleganter schreiben.

#coding:utf-8
'''
Created on 2012/09/23

@author: fumix
'''

class Pager():
    '''
Seitenverarbeitungsklasse
    '''


    def __init__(self,total,page,width):
        '''
        Constructor
        '''
        self.total = total
        self.page = page
        self.width = width
    
    def content(self,current):
        #Maximale Anzahl Seiten
        max_pagecount = self.total / self.page + 1

        #Maximale Anzahl Seiten<Wenn die Anzahl der angezeigten Seiten
        if max_pagecount < self.width:
            min = 1
            max = max_pagecount

        #Maximale Anzahl Seiten<Aktuelle Seite+Bei der Hälfte der angezeigten Seiten
        elif max_pagecount < current + self.width / 2 :
            min = current - self.width / 2
            max = max_pagecount

        #Aktuelle Seite-Die Hälfte der angezeigten Seiten<Wenn 1
        elif current - self.width / 2 < 1:
            min = 1
            max = self.width
        
        #anders als das
        else:
            min = current - self.width / 2
            max = current + self.width / 2
        return {'min':min,'max':max}
def _test():
    page = Pager(532, 20, 10)
    print page.content(22)

if __name__ == '__main__':
    _test()

Recommended Posts

Seitenverarbeitungsklasse
Klasse
Klasse
Arithmetische Verarbeitung in der Kanji-Zahlenklasse
Seitenfragmente
Klassenvariable
Klassenvererbung
Abstrakte Klasse
Zusammenfassung der Pickle- und Unpickle-Verarbeitung von benutzerdefinierten Klassen