Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 27, 2010 09:53:43

ZigertoN
От:
Зарегистрирован: 2010-10-27
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

массивы

День добрый, у меня возникла проблема при работе с двумерными массивами.

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

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

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



Отредактировано (Окт. 27, 2010 10:47:28)

Офлайн

#2 Окт. 27, 2010 21:55:02

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

массивы

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.]])
это неправильно но почерпнуть идеи можно



Отредактировано (Окт. 27, 2010 21:57:32)

Офлайн

#3 Окт. 28, 2010 08:11:49

ZigertoN
От:
Зарегистрирован: 2010-10-27
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

массивы

спс, буду разбираться



Офлайн

#4 Окт. 28, 2010 10:56:24

ZigertoN
От:
Зарегистрирован: 2010-10-27
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

массивы

я новечек в програмирование, можеш обьяснить написаное…



Офлайн

#5 Ноя. 1, 2010 14:03:50

ZigertoN
От:
Зарегистрирован: 2010-10-27
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

массивы

Traceback (most recent call last):
File "I:\?????\matrix\src\matrix.py", line 2, in <module>
import numpy as np
ImportError: No module named numpy
выдает такую шнягу, подскажите из-за чего



Офлайн

#6 Ноя. 1, 2010 15:45:44

ZigertoN
От:
Зарегистрирован: 2010-10-27
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

массивы

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

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



Офлайн

#7 Ноя. 1, 2010 15:56:30

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

массивы

ZigertoN

1. Сохраняйте файл в UTF-8.
2. В начале файла сделайте строчку

# coding:utf-8



Офлайн

#8 Ноя. 1, 2010 16:02:59

ZigertoN
От:
Зарегистрирован: 2010-10-27
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

массивы

File "<string>", line None
SyntaxError: Illegal character in file 'I:\?????\matrix\src\matrix.py' for encoding 'utf-8'
сейчас вот что пишет



Офлайн

#9 Ноя. 5, 2010 15:00:39

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

массивы

не может найти путь до фаила , укажи латиной или правильно кодировку выстави

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version