Compare commits

...

3 Commits

Author SHA1 Message Date
b74a428c2b Merge pull request 'aufgabe3_codewars' (#4) from aufgabe3_codewars into main
Reviewed-on: #4

Sieht solide aus.

Kleiner Tip zu den Kommentaren: Wenn Du die Kommentare mit """ in die Methoden (Funktionen) selbst rein schreibst, hast Du nachher sogar die Möglichkeit 'gratis' eine API-Dokumentation zu erhalten (z.B. sphinx). Auch wird dieser Text dann angezeigt, wenn Du help auf eine Funktion/Methode aufrufst. Wenn Du in # oberhalb der Funktion/Methode kommentierst, hast Du dise Möglichkeit nicht.
2026-03-13 10:17:18 +01:00
leart-ramushi
65a4c79916 Link Korrektur im Kommentar 2026-03-11 15:02:02 +01:00
leart-ramushi
065447534c Abgabe Aufgabe 3 2026-03-11 14:58:57 +01:00

View File

@ -0,0 +1,43 @@
# Abgabe - PaginationHelper Aufgabe von Codewars
# Link dazu: https://www.codewars.com/kata/515bb423de843ea99400000a
# Leart Ramushi
# TODO: complete this class
import math
class PaginationHelper:
# The constructor takes in an array of items and an integer indicating
# how many items fit within a single page
def __init__(self, collection, items_per_page):
self.collection = collection
self.items_per_page = items_per_page
# returns the number of items within the entire collection
def item_count(self):
return len(self.collection)
# returns the number of pages
def page_count(self):
return math.ceil(len(self.collection) / self.items_per_page)
# returns the number of items on the given page. page_index is zero based
# this method should return -1 for page_index values that are out of range
def page_item_count(self, page_index):
if page_index < 0 or page_index >= self.page_count():
return -1
if page_index == self.page_count() - 1:
rest = len(self.collection) % self.items_per_page
if rest == 0:
return self.items_per_page
else:
return rest
return self.items_per_page
# determines what page an item at the given index is on. Zero based indexes.
# this method should return -1 for item_index values that are out of range
def page_index(self, item_index):
if item_index < 0 or item_index >= len(self.collection):
return -1
return item_index // self.items_per_page