Почему мой код не возвращает то, что должно? - PullRequest
0 голосов
/ 05 июля 2019

Я новичок в python, я попробовал несколько упражнений насчет numpy, но в этом результате doce я обнаружил, что последние 2 числа не верны. Я думаю, что они должны быть 9**9 и 10**10, в моем ограниченном опыте работы с Python, я не могу понять, как это привело к этому результату.

import numpy as np
a=np.arange(1,11)
xs,ys=np.meshgrid(a,a)
xs**ys

-808182895, 1410065408]], dtype=int32)

эти два результата, я не понимаю, как они приходят? Они не должны быть 9**9 как 3486784401 и 10**10 как 10000000000.

1 Ответ

0 голосов
/ 05 июля 2019

Если вы хотите вывести правильный ответ, установите dtype как np.int64. По умолчанию numpy угадывает тип данных неявно (numpy угадал dtype как np.int32).

import numpy as np
a=np.arange(1,11,dtype=np.int64)
xs,ys=np.meshgrid(a,a)
xs**ys
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...