Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 16, 2017 12:09:56

Lainelir
Зарегистрирован: 2017-08-15
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Произведение элементов массива

Есть два массива im1dev= и im2dev= в них по 100 чисел в каждом. Нужно умножить первое число одного массива на первое число второго массива, второе на второе и т. д. Как это сделать?

Офлайн

#2 Авг. 16, 2017 12:18:06

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Произведение элементов массива

Lainelir
перебрать индексы массивов в цикле
давайте этого и начнем
вы можете сделать цикл, который перебирает числа от одного до ста?



Офлайн

#3 Авг. 16, 2017 12:38:12

Lainelir
Зарегистрирован: 2017-08-15
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Произведение элементов массива

Ну там может и больше ста быть. это пока что сто.
можно поподробнее? Я новичек и как перебирать?


 im2dev = []
im2dev = []
C = []
for y in zip(im1dev, im2dev):
    lst = []
    for x in zip(y):
        lst.append(x * x)
    C.append(lst)
print(C)

Я вот только что то подобное нашел. Но оно естественно не работает.

from itertools import product
 
 a = [2, 3]
b = [4, 5]
 
print([int(i) * int(j) for i, j in product(a, b)])

тут перемножает каждый на каждый элемент, но мне нужно что бы первый на первый, второй на второй.

Отредактировано FishHook (Авг. 16, 2017 12:42:06)

Офлайн

#4 Авг. 16, 2017 12:41:45

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Произведение элементов массива

[code python][/code]



Офлайн

#5 Авг. 16, 2017 12:41:50

Lainelir
Зарегистрирован: 2017-08-15
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Произведение элементов массива

Почему в сообщение исчез код в скобочках?

Офлайн

#6 Авг. 16, 2017 12:42:57

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Произведение элементов массива

Lainelir
Я вот только что то подобное нашел.
Возьмите учебник. Прочитайте про циклы. Вы собираетесь методом тыка программировать что ли?



Офлайн

#7 Авг. 16, 2017 12:42:58

Lainelir
Зарегистрирован: 2017-08-15
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Произведение элементов массива

я вижу только. мне не показывает код почему?

Офлайн

#8 Авг. 16, 2017 12:44:39

Lainelir
Зарегистрирован: 2017-08-15
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Произведение элементов массива

[code python][/code]

ВОТ ТАК НАДО ОФОРМЛЯТЬ КОД НА ФОРУМАХ!

Отредактировано FishHook (Авг. 16, 2017 12:52:34)

Офлайн

#9 Авг. 16, 2017 13:14:35

Lainelir
Зарегистрирован: 2017-08-15
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Произведение элементов массива

ок не понял как всё равно. В общем я хочу посчитать корреляцию Пирсона двух массивов содержащих числа яркостей пикселей изображений в оттенках серого. Посчитать вручную без nimpy и scipy так как нимпи выдает ошибки часто а сципи не устанавливается. Нужно перемножить отклонения. Это два массива. Нужно первый элемент массива умножить на первый элемент второго массива, второй на второй и так далее. Подскажите как это сделать. Я не знаю как для этого использовать циклы.

 [/import random
from PIL import Image
from itertools import product
image1 = []
image = Image.open("1.jpg") #Открываем изображение.
width = image.size[0] #Определяем ширину.
height = image.size[1] #Определяем высоту.
pix = image.load() #Выгружаем значения пикселей.
for i in range(width):
		for j in range(height):
			image1.append((pix[i, j][0])+1)
print("ds")
image2 = []
image = Image.open("2.jpg") #Открываем изображение.
width = image.size[0] #Определяем ширину.
height = image.size[1] #Определяем высоту.
pix2 = image.load() #Выгружаем значения пикселей.
for i2 in range(width):
		for j2 in range(height):
			image2.append((pix2[i2, j2][0])+1)
print(image1)
print(image2)
size = width * height
print(size)
averimage1 = sum(image1)/size
print(averimage1)
averimage2 = sum(image2)/size
print(averimage2) #srednee znachenie
im1dev = []
for x in image1:
	x = x - averimage1
	im1dev.append(x)
	print(im1dev)
print('sadad')
im2dev = []
for y in image2:
	y = y - averimage2 
	im2dev.append(y)
	print(im2dev)] 

Офлайн

#10 Авг. 16, 2017 13:22:22

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Произведение элементов массива

Да блин, ну не бином Ньютона же

 for i in range(0, 100):
    print(i)

вот вам индексы элементов, извлекайте элементы по индексу и делайте с ними что угодно. Без зипов, енумерэйтов и прочего, чего вы не знаете. Ну фор-то самый простой в любом учебнике на первых двадцати страницах!



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version