Skip to content

Commit 50f91a7

Browse files
committed
Redid Multidimensional Lists - Lab
1 parent 8bcd71b commit 50f91a7

File tree

7 files changed

+232
-116
lines changed

7 files changed

+232
-116
lines changed
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
sum_elements_in_matrix = 0
2-
31
rows, columns = list(map(int, input().split(", ")))
42

53
matrix = []
6-
for row in range(rows):
74

5+
sum_matrix = 0
6+
7+
for row in range(rows):
88
cols = list(map(int, input().split(", ")))
9-
sum_elements_in_matrix += sum(cols)
109
matrix.append(cols)
10+
sum_matrix += sum(cols)
1111

12-
print(sum_elements_in_matrix)
12+
print(sum_matrix)
1313
print(matrix)
Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,34 @@
11
rows = int(input())
22

33
matrix = []
4+
even_matrix = []
5+
46
for row in range(rows):
5-
columns = [int(num) for num in input().split(", ")]
6-
matrix.append([num for num in columns if num % 2 == 0])
7-
# matrix.append(
8-
# [
9-
# int(num) for num in input().split(", ")
10-
# if int(num) % 2 == 0
11-
# ]
12-
# )
13-
14-
print(matrix)
7+
columns = list(map(int, input().split(", ")))
8+
matrix.append(columns)
9+
10+
[even_matrix.append([num for num in matrix[row] if num % 2 == 0]) for row in range(rows)]
11+
12+
print(even_matrix)
13+
14+
15+
16+
# rows = int(input())
17+
#
18+
# matrix = []
19+
# for row in range(rows):
20+
# columns = [int(num) for num in input().split(", ")]
21+
# matrix.append([num for num in columns if num % 2 == 0])
22+
# # matrix.append(
23+
# # [
24+
# # int(num) for num in input().split(", ")
25+
# # if int(num) % 2 == 0
26+
# # ]
27+
# # )
28+
#
29+
# print(matrix)
30+
31+
32+
33+
# even_matrix = []
34+
# result = [[even_matrix.append([num for num in list(map(int, input().split(", "))) if num % 2 == 0]) for row in range(int(input()))], print(even_matrix)]

Advanced/2.Multidimensional Lists/Multidimensional Lists - Lab/03. Flattening Matrix.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,23 @@
33
matrix = []
44

55
for row in range(rows):
6-
columns = input().split(", ")
6+
columns = list(map(int, input().split(", ")))
77
matrix.append(columns)
88

9-
flattening_matrix = [int(num) for elements in matrix for num in elements]
10-
print(flattening_matrix)
9+
flattening_matrix = []
10+
[[flattening_matrix.append(num) for num in matrix[row]] for row in range(rows)]
11+
12+
print(flattening_matrix)
13+
14+
15+
16+
# rows = int(input())
17+
#
18+
# matrix = []
19+
#
20+
# for row in range(rows):
21+
# columns = input().split(", ")
22+
# matrix.append(columns)
23+
#
24+
# flattening_matrix = [int(num) for elements in matrix for num in elements]
25+
# print(flattening_matrix)
Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,34 @@
1-
rows, columns = [int(num) for num in input().split(", ")]
1+
rows, columns = list(map(int, input().split(", ")))
22

33
matrix = []
4+
sum_columns = [[] for _ in range(columns)]
45

56
for row in range(rows):
6-
cols = [int(num) for num in input().split()]
7+
cols = list(map(int, input().split()))
78
matrix.append(cols)
89

9-
sum_matrix = []
10+
for col in range(columns):
11+
sum_columns[col].append(cols[col])
1012

11-
for column in range(columns):
12-
column_sum = 0
13+
[print(sum(cols)) for cols in sum_columns]
1314

14-
for row in range(rows):
15-
column_sum += matrix[row][column]
1615

17-
sum_matrix.append(column_sum)
18-
19-
[print(num) for num in sum_matrix]
16+
# rows, columns = [int(num) for num in input().split(", ")]
17+
#
18+
# matrix = []
19+
#
20+
# for row in range(rows):
21+
# cols = [int(num) for num in input().split()]
22+
# matrix.append(cols)
23+
#
24+
# sum_matrix = []
25+
#
26+
# for column in range(columns):
27+
# column_sum = 0
28+
#
29+
# for row in range(rows):
30+
# column_sum += matrix[row][column]
31+
#
32+
# sum_matrix.append(column_sum)
33+
#
34+
# [print(num) for num in sum_matrix]
Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,30 @@
1-
rows = int(input())
1+
square_size = int(input()) # rows and columns
22

3-
matrix = [
4-
[
5-
int(num)
6-
for num in input().split()
7-
]
8-
for row in range(rows)
9-
]
3+
matrix = []
4+
primary_diagonal_sum = 0
105

11-
sum_diagonal = 0
6+
for row in range(square_size):
7+
columns = list(map(int, input().split()))
8+
matrix.append(columns)
9+
primary_diagonal_sum += columns[row]
1210

13-
for column in range(rows):
14-
row = column
15-
sum_diagonal += matrix[row][column]
11+
print(primary_diagonal_sum)
1612

17-
print(sum_diagonal)
13+
14+
# rows = int(input())
15+
#
16+
# matrix = [
17+
# [
18+
# int(num)
19+
# for num in input().split()
20+
# ]
21+
# for row in range(rows)
22+
# ]
23+
#
24+
# sum_diagonal = 0
25+
#
26+
# for column in range(rows):
27+
# row = column
28+
# sum_diagonal += matrix[row][column]
29+
#
30+
# print(sum_diagonal)

Advanced/2.Multidimensional Lists/Multidimensional Lists - Lab/06. Symbol in Matrix.py

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,30 @@
2525
break
2626

2727
if not found_symbol:
28-
print(f"{find_symbol} does not occur in the matrix")
28+
print(f"{find_symbol} does not occur in the matrix")
29+
30+
31+
32+
# square_size = int(input()) # rows and columns
33+
#
34+
# matrix = []
35+
#
36+
# for row in range(square_size):
37+
# columns = [char for char in input()]
38+
# matrix.append(columns)
39+
#
40+
# search_symbol = input()
41+
# found_symbol = False
42+
#
43+
# for row in range(square_size):
44+
#
45+
# for col in range(square_size):
46+
# if matrix[row][col] == search_symbol:
47+
# print((row, col))
48+
# found_symbol = True
49+
# break
50+
# if found_symbol:
51+
# break
52+
#
53+
# if not found_symbol:
54+
# print(f"{search_symbol} does not occur in the matrix")
Lines changed: 101 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,101 @@
1-
def read_matrix(is_test=False):
2-
if is_test:
3-
return [
4-
[7, 1, 3, 3, 2, 1],
5-
[1, 3, 9, 8, 5, 6],
6-
[4, 6, 7, 9, 1, 0],
7-
]
8-
9-
else:
10-
11-
(rows_count, columns_count) = map(int, input().split(', '))
12-
13-
matrix = []
14-
15-
for row_index in range(rows_count):
16-
row = [int(x) for x in input().split(', ')]
17-
matrix.append(row)
18-
19-
return matrix
20-
21-
22-
def get_sum_of_submatrix(matrix, row_index, column_index, size):
23-
24-
the_sum = 0
25-
26-
for r in range(row_index, row_index + size):
27-
for c in range(column_index, column_index + size):
28-
the_sum += matrix[r][c]
29-
30-
return the_sum
31-
32-
33-
def get_best_submatrix_sum_coordinates(matrix, submatrix_size):
34-
35-
best_row_index = 0
36-
best_column_index = 0
37-
best_sum = get_sum_of_submatrix(matrix, 0, 0, submatrix_size)
38-
39-
for row_index in range(len(matrix) - submatrix_size + 1):
40-
41-
for col_index in range(len(matrix[row_index]) - submatrix_size + 1):
42-
43-
current_sum = get_sum_of_submatrix(matrix, row_index, col_index, submatrix_size)
44-
45-
if best_sum < current_sum:
46-
best_sum = current_sum
47-
best_row_index = row_index
48-
best_column_index = col_index
49-
50-
return (best_row_index, best_column_index)
51-
52-
53-
def print_result(coordinates, size):
54-
55-
(row_index, col_index) = coordinates
56-
57-
for r in range(row_index, row_index + size):
58-
59-
row = []
60-
61-
for c in range(col_index, col_index + size):
62-
63-
row.append(matrix[r][c])
64-
65-
print(' '.join(str(x) for x in row))
66-
67-
print(get_sum_of_submatrix(matrix, row_index, col_index, size))
68-
69-
70-
SUBMATRIX_SIZE = 2
71-
72-
matrix = read_matrix()
73-
coordinates = get_best_submatrix_sum_coordinates(matrix, SUBMATRIX_SIZE)
74-
print_result(coordinates, SUBMATRIX_SIZE)
1+
import sys
2+
3+
rows, columns = list(map(int, input().split(", ")))
4+
5+
matrix = []
6+
submatrix = []
7+
sum_submatrix = -sys.maxsize
8+
9+
for row in range(rows):
10+
cols = list(map(int, input().split(", ")))
11+
matrix.append(cols)
12+
13+
for row in range(rows):
14+
15+
for col in range(columns):
16+
if row+1 < rows and col+1 < columns:
17+
square = [matrix[row][col], matrix[row][col+1], matrix[row+1][col], matrix[row+1][col+1]]
18+
if sum(square) > sum_submatrix:
19+
submatrix = [[square[0], square[1]], [square[2], square[3]]]
20+
sum_submatrix = sum(square)
21+
22+
[print(' '.join([str(col) for col in row])) for row in submatrix]
23+
print(sum_submatrix)
24+
25+
26+
27+
28+
# def read_matrix(is_test=False):
29+
# if is_test:
30+
# return [
31+
# [7, 1, 3, 3, 2, 1],
32+
# [1, 3, 9, 8, 5, 6],
33+
# [4, 6, 7, 9, 1, 0],
34+
# ]
35+
#
36+
# else:
37+
#
38+
# (rows_count, columns_count) = map(int, input().split(', '))
39+
#
40+
# matrix = []
41+
#
42+
# for row_index in range(rows_count):
43+
# row = [int(x) for x in input().split(', ')]
44+
# matrix.append(row)
45+
#
46+
# return matrix
47+
#
48+
#
49+
# def get_sum_of_submatrix(matrix, row_index, column_index, size):
50+
#
51+
# the_sum = 0
52+
#
53+
# for r in range(row_index, row_index + size):
54+
# for c in range(column_index, column_index + size):
55+
# the_sum += matrix[r][c]
56+
#
57+
# return the_sum
58+
#
59+
#
60+
# def get_best_submatrix_sum_coordinates(matrix, submatrix_size):
61+
#
62+
# best_row_index = 0
63+
# best_column_index = 0
64+
# best_sum = get_sum_of_submatrix(matrix, 0, 0, submatrix_size)
65+
#
66+
# for row_index in range(len(matrix) - submatrix_size + 1):
67+
#
68+
# for col_index in range(len(matrix[row_index]) - submatrix_size + 1):
69+
#
70+
# current_sum = get_sum_of_submatrix(matrix, row_index, col_index, submatrix_size)
71+
#
72+
# if best_sum < current_sum:
73+
# best_sum = current_sum
74+
# best_row_index = row_index
75+
# best_column_index = col_index
76+
#
77+
# return (best_row_index, best_column_index)
78+
#
79+
#
80+
# def print_result(coordinates, size):
81+
#
82+
# (row_index, col_index) = coordinates
83+
#
84+
# for r in range(row_index, row_index + size):
85+
#
86+
# row = []
87+
#
88+
# for c in range(col_index, col_index + size):
89+
#
90+
# row.append(matrix[r][c])
91+
#
92+
# print(' '.join(str(x) for x in row))
93+
#
94+
# print(get_sum_of_submatrix(matrix, row_index, col_index, size))
95+
#
96+
#
97+
# SUBMATRIX_SIZE = 2
98+
#
99+
# matrix = read_matrix()
100+
# coordinates = get_best_submatrix_sum_coordinates(matrix, SUBMATRIX_SIZE)
101+
# print_result(coordinates, SUBMATRIX_SIZE)

0 commit comments

Comments
 (0)