37 lines
842 B
Python
37 lines
842 B
Python
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.")
|