Необходимо определить класс, реализующий десятичный счетчик, который может увеличивать или уменьшать свое значение на единицу в заданном диапазоне. Возникает проблема при вызове сразу обоих методов а не по отдельности. Значение self.number обновляется, не возвращается к первоначальному. Возможно ли как-то сбить его изменения?
class Counter:
def __init__(self, number=5, lower_limit=3, upper_limit=10):
self.number = number
self.lower_limit = lower_limit
self.upper_limit = upper_limit
def increase_count(self):
if self.number not in range(self.lower_limit, self.upper_limit):
return "Error"
else:
mylist = list(self.number + 1 for self.number in range(self.number, self.upper_limit))
return mylist
def decrease_count(self):
if self.number not in range(self.lower_limit, self.upper_limit):
return "Error"
else:
mylist = list(self.number - 1 for self.number in range(self.lower_limit + 1, self.number + 1))
return mylist[::-1]
obj = Counter()
print(obj.increase_count())
print(obj.decrease_count())