From 1200160f1c318b2588147efee12e2af195e0b2b3 Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Mon, 13 Apr 2026 15:47:09 +0200 Subject: [PATCH] aggiunge esercizio 40 --- lab40.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 lab40.py diff --git a/lab40.py b/lab40.py new file mode 100644 index 0000000..3eb791f --- /dev/null +++ b/lab40.py @@ -0,0 +1,36 @@ +class WeekDayError(Exception): + pass + + +class Weeker: + __GIORNI = ['lun', 'mar', 'mer', 'gio', 'ven', 'sab', 'dom'] + + def __init__(self, day): + if day not in Weeker.__GIORNI: + raise WeekDayError("Giorno non valido: " + day) + self.__day_index = Weeker.__GIORNI.index(day) + + def __str__(self): + return Weeker.__GIORNI[self.__day_index].capitalize() + + def add_days(self, n): + self.__day_index = (self.__day_index + n) % 7 + + def subtract_days(self, n): + self.__day_index = (self.__day_index - n) % 7 + + +# --- TEST --- +try: + weekday = Weeker('lun') + print(weekday) + + weekday.add_days(15) + print(weekday) + + weekday.subtract_days(23) + print(weekday) + + weekday = Weeker('lunedì') +except WeekDayError: + print("Mi dispiace, non posso soddisfare la sua richiesta.")