Найти - Пользователи
Полная версия: массивы
Начало » Python для новичков » массивы
1
ZigertoN
День добрый, у меня возникла проблема при работе с двумерными массивами.

Вобщем надо найти в заданом массиве (например 10х10) подмассив 3х3, сумма элементов которого максимальна.

Как я полагаю надо из массива вытаскивать два подмассива 3х3, тот у которого сумма элементов больше запоминать и сравнивать со следующим 3х3 массивом, и таким образом зациклить пока не найдем с максимальной суммой элеменов.

Как это реализовать до меня не доходит. Как из массива достать подмассивы? Как зациклить всю эту шнягу?Как сумировать элементы в подмассиве?
doza_and
import numpy as np
def GetSub(arr):
n=3
a=np.array(arr)
ny,nx=a.shape
best=a[0:n,0:n]
bestsum=np.sum(a)
for iy in xrange(ny-n):
for ix in xrange(nx-n):
sub=a[iy:iy+n,ix:ix+n]
s=np.sum(sub)
if s>bestsum:
bestsum=s
best=sub
return best
>>> arr=np.eye(10)
>>> GetSub(arr)
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]])
это неправильно но почерпнуть идеи можно
ZigertoN
спс, буду разбираться
ZigertoN
я новечек в програмирование, можеш обьяснить написаное…
ZigertoN
Traceback (most recent call last):
File "I:\?????\matrix\src\matrix.py", line 2, in <module>
import numpy as np
ImportError: No module named numpy
выдает такую шнягу, подскажите из-за чего
ZigertoN
File “<string>”, line None
SyntaxError: Non-ASCII character in file ‘I:\?????\matrix\src\matrix.py’, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

и вот это что за ошибка?
regall
ZigertoN

1. Сохраняйте файл в UTF-8.
2. В начале файла сделайте строчку
# coding:utf-8
ZigertoN
File "<string>", line None
SyntaxError: Illegal character in file 'I:\?????\matrix\src\matrix.py' for encoding 'utf-8'
сейчас вот что пишет
sypper-pit
не может найти путь до фаила , укажи латиной или правильно кодировку выстави
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB