Вы просто возвращаете строку из power
, где вы, вероятно, хотите вызвать исключение.Кроме того, вы должны проверить n
и p
, прежде чем изменить объект.(Я не буду вдаваться в подробности, почему power
устанавливает атрибуты.)
class Calculator:
def power(self, n, p):
if n < 0 or p < 0:
raise ValueError("Both arguments should be non-negative")
self.n = n
self.p = p
return self.n ** self.p
myCalculator = Calculator()
T = int(input())
for i in range(T):
n, p = map(int, input().split())
try:
ans = myCalculator.power(n,p)
print(ans)
except Exception as e:
print(e)