from decimal import Decimal i = 1510; t = 10; p = 2 print(Decimal(str(i)*t)**p) Ошибка в том, что все наивные решения, приведенные выше, либо теряют в точности, либо вообще не способный вычислить результат, потому что разрядность обычных типов данных заканчивается на мантиссе равной 52.