Найти - Пользователи
Полная версия: Не могли бы вы подсказать как упростить код
Начало » Python для новичков » Не могли бы вы подсказать как упростить код
1
Qwerty16
n = 10
a = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
s_1 = {i for i in range(n)}
s_2 = {i for i in range(n)}
s = 0
i = 0
for b in a:
    if i in s_1:
        j = 0
        for c in b:
            if j in s_2:
                s = s + a[i][j]
            j = j + 1
    i = i + 1
print(s)

Вот условие
Даны описания:
>>> n = 10
>>> a = [,
,
]
>>> s_1 = {i for i in range(n)}
>>> s_2 = {i for i in range(n)}

Реализовать программно вычисление суммы тех элементов матрицы a, номера
строк и столбцов которых принадлежат соответственно непустым множествам s_1
и s_2.
pyuser
from random import randint
n = 10
A = [[1, 1, 1, 1, 1],
     [2, 2, 2, 2, 2],
     [3, 3, 3, 3, 3],
     [4, 4, 4, 4, 4],
     [5, 5, 5, 5, 5]]
rows = (randint(0, len(A) - 1) for _ in range(n))
cols = (randint(0, len(A[0]) - 1) for _ in range(n))
print(sum(A[i][j] for i, j in zip(rows, cols)))
doza_and
import numpy as np
a=np.array([[100*i+j for i in range(5)] for j in range(5)])
>>> a[[1,3,4]][:,[0,1]].sum()
316
Qwerty16
Спасибо за помощь но коде должно бить описание з условие
n = 10
a = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
s_1 = {i for i in range(n)}
s_2 = {i for i in range(n)}
doza_and
Qwerty16
описание з условие
С вашими условиями правильный код такой:
print(A.sum())
Qwerty16
print(A.sum())
Этот метод находит сумму всех элементов матрицы а мне нужно вычисление суммы тех элементов матрицы a, номера
строк и столбцов которых принадлежат соответственно непустым множествам s_1
и s_2.
Qwerty16
Пожалуста помогите
FishHook
# -*-coding:utf-8-*-
a = [[1, 1, 1, 1, 1],
     [2, 2, 2, 2, 2],
     [3, 3, 3, 3, 3],
     [4, 4, 4, 4, 4],
     [5, 5, 5, 5, 5]]
cols = {1, 2, 3}
rows = {0, 2, 4}
s = 0
for row_num, row in enumerate(a):
    for col_num, item in enumerate(row):
        if row_num in rows and col_num in cols:
            s += item
            
print(s)
Qwerty16
Спасибо
doza_and
Qwerty16
принадлежат соответственно непустым множествам s_1
и s_2.
Qwerty16
s_1 = {i for i in range(n)}
s_2 = {i for i in range(n)}
Ваши множества это все индексы, поэтому правильно просто просуммировать все элементы.
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