def pow(self, base, power): if not (isinstance(power, float) and power.is_integer() and int(power) >= 0): raise ComputorException('Exponent ' + Fore.RED + str(power) + Fore.RESET + ' must be a non-negative integer') power = int(power) if isinstance(base, float): return base ** power elif isinstance(base, Complex): return Complex.pow(base, power) elif isinstance(base, Matrix): return Matrix.pow(base, power) raise ComputorException('Computor.pow(): something bad happened 🤷')