У меня есть следующий код:
import numpy
def numpysum(n):
a = numpy.arange(n) ** 2
b = numpy.arange(n) ** 3
c = a + b
return c
size = 3000
c = numpysum(size)
При запуске я получаю сообщение об ошибке:
D:\Work\programming\python\test_1\src\test1_numpy.py: 6: RuntimeWarning: недопустимое значение, обнаруженное при мощности b = numpy.arange(n) ** 3
Обратите внимание, что следующая функция numpyless работает нормально:
def pythonsum(n):
a = list(range(n))
b = list(range(n))
c = []
for i in range(len(a)):
a[i] = i ** 2
b[i] = i ** 3
c.append(a[i] + b[i])
return c
Я предполагаю, что это происходит, потому что я пытаюсь поднять большое количество к власти три. Что я могу сделать, помимо работы с числами с плавающей запятой?
Я работаю с Python 3.2.