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.")
