def calculate(value: str, spec: bool = True) -> int: tmp = "" retu = 0 sign = value[0] == "-" if sign or value[0] == "+": value = value[1:] for char in value: tmp2 = char == "-" if tmp2 or char == "+": retu += number(tmp, spec) * (1 - sign * 2) tmp = "" sign = tmp2 else: tmp += char return retu + number(tmp, spec) * (1 - sign * 2)