2013-08-03 2 views
-2

Я скопировал эту программу в pyscripter 2.7. Я загрузил numpy и scipy для python 2.7 тоже.nameerror: name 'array' не определен

import numpy as np 
from scipy import linalg 
A = np.array([[1,2],[3,4]]) 
array([[1, 2], 
     [3, 4]]) 
linalg.inv(A) 
array([[-2. , 1. ], 
     [ 1.5, -0.5]]) 
A.dot(linalg.inv(A)) #double check 
array([[ 1.00000000e+00, 0.00000000e+00], 
     [ 4.44089210e-16, 1.00000000e+00]]) 

, но это будет не работать и увидеть это: Name Error: name 'array' is not defined. Что мне делать?

+2

Вы скопировали эти данные? Кажется, что к нему подключен вывод. –

ответ

0

Вы должны импорта в array типа, или обратиться к нему напрямую:

from numpy import array 

или использовать np.array, чтобы обратиться к нему.

Однако, вы, кажется, глядя на выходе сценария, а также сам код:

import numpy as np 
from scipy import linalg 
A = np.array([[1,2],[3,4]]) 
linalg.inv(A) 
A.dot(linalg.inv(A)) #double check 

Запуск этого кода в моей интерактивной интерпретатор Python строки, я вижу:

>>> import numpy as np 
>>> from scipy import linalg 
>>> A = np.array([[1,2],[3,4]]) 
>>> linalg.inv(A) 
array([[-2. , 1. ], 
     [ 1.5, -0.5]]) 
>>> A.dot(linalg.inv(A)) #double check 
array([[ 1.00000000e+00, 0.00000000e+00], 
     [ 8.88178420e-16, 1.00000000e+00]]) 
+0

oh! Спасибо, у меня был один вопрос.why 'scipy' и 'numpy' не смел и не менял свой цвет на синий в моем пискриптере? Вот так: http: //docs.scipy.org/doc/scipy/reference/ tutorial/linalg.html – jack

+0

Я понятия не имею, Я сам не пользуюсь самим сценаристом. –

+0

нет, Калра прав, строки массива - это префиксный выход ... –

2

Кажется, вы подключили вывод в скрипте, который вы пытаетесь запустить, следовательно, ошибка. Выполнения следующего дает подобную ошибку -

>>> array([1, 2]) 

Traceback (most recent call last): 
    File "<pyshell#18>", line 1, in <module> 
    array([1, 2]) 
NameError: name 'array' is not defined 

И это соответствует вашему сценарию.

>>> A = np.array([[1, 2], [3, 4]]) 
>>> A 
array([[1, 2], 
     [3, 4]]) 

Ваш оригинальный сценарий.

import numpy as np 
from scipy import linalg 
A = np.array([[1,2],[3,4]]) 
linalg.inv(A) 
A.dot(linalg.inv(A)) #double check 
Смежные вопросы