Skip to content

Commit 0ee0c44

Browse files
committed
Redid 1.Multidimensional Lists - Exercise
1 parent 50f91a7 commit 0ee0c44

File tree

7 files changed

+291
-128
lines changed

7 files changed

+291
-128
lines changed
Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,36 @@
11
rows = int(input())
22

3-
matrix = []
4-
primary_diagonal = []
5-
secondary_diagonal = []
3+
matrix = [
4+
[int(num) for num in input().split(", ")]
5+
for row in range(rows)
6+
]
67

7-
for row in range(rows):
8-
''' Appending the columns into the matrix '''
9-
columns = [int(num) for num in input().split(", ")]
10-
matrix.append(columns)
8+
primary_diagonal = [matrix[row_col][row_col] for row_col in range(rows)]
9+
secondary_diagonal = [matrix[::-1][row_col][row_col] for row_col in range(rows)][::-1]
1110

12-
''' Getting the matrix primary diagonal'''
13-
column = row
14-
primary_diagonal.append(matrix[row][column])
11+
print(f"Primary diagonal: {', '.join([str(num) for num in primary_diagonal])}. Sum: {sum(primary_diagonal)}")
12+
print(f"Secondary diagonal: {', '.join([str(num) for num in secondary_diagonal])}. Sum: {sum(secondary_diagonal)}")
1513

16-
''' Getting the matrix secondary diagonal '''
17-
secondary_columns = columns[::-1]
18-
secondary_diagonal.append(secondary_columns[row])
1914

20-
print(f"Primary diagonal: {', '.join([str(num) for num in primary_diagonal])}. Sum: {sum(primary_diagonal)}")
21-
print(f"Secondary diagonal: {', '.join([str(num) for num in secondary_diagonal])}. Sum: {sum(secondary_diagonal)}")
15+
16+
# rows = int(input())
17+
#
18+
# matrix = []
19+
# primary_diagonal = []
20+
# secondary_diagonal = []
21+
#
22+
# for row in range(rows):
23+
# ''' Appending the columns into the matrix '''
24+
# columns = [int(num) for num in input().split(", ")]
25+
# matrix.append(columns)
26+
#
27+
# ''' Getting the matrix primary diagonal'''
28+
# column = row
29+
# primary_diagonal.append(matrix[row][column])
30+
#
31+
# ''' Getting the matrix secondary diagonal '''
32+
# secondary_columns = columns[::-1]
33+
# secondary_diagonal.append(secondary_columns[row])
34+
#
35+
# print(f"Primary diagonal: {', '.join([str(num) for num in primary_diagonal])}. Sum: {sum(primary_diagonal)}")
36+
# print(f"Secondary diagonal: {', '.join([str(num) for num in secondary_diagonal])}. Sum: {sum(secondary_diagonal)}")
Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,33 @@
11
rows = int(input())
22

3-
matrix = []
4-
primary_diagonal = []
5-
secondary_diagonal = []
3+
matrix = [
4+
[int(num) for num in input().split()]
5+
for row in range(rows)
6+
]
67

7-
for row in range(rows):
8-
''' Appending the columns into the matrix '''
9-
columns = [int(num) for num in input().split()]
10-
matrix.append(columns)
8+
primary_diagonal = [matrix[row_col][row_col] for row_col in range(rows)]
9+
secondary_diagonal = [matrix[::-1][row_col][row_col] for row_col in range(rows)][::-1]
1110

12-
''' Getting the matrix primary diagonal'''
13-
column = row
14-
primary_diagonal.append(matrix[row][column])
11+
print(abs(sum(primary_diagonal) - sum(secondary_diagonal)))
1512

16-
''' Getting the matrix secondary diagonal '''
17-
secondary_columns = columns[::-1]
18-
secondary_diagonal.append(secondary_columns[row])
1913

20-
print(abs(sum(primary_diagonal) - sum(secondary_diagonal)))
14+
# rows = int(input())
15+
#
16+
# matrix = []
17+
# primary_diagonal = []
18+
# secondary_diagonal = []
19+
#
20+
# for row in range(rows):
21+
# ''' Appending the columns into the matrix '''
22+
# columns = [int(num) for num in input().split()]
23+
# matrix.append(columns)
24+
#
25+
# ''' Getting the matrix primary diagonal'''
26+
# column = row
27+
# primary_diagonal.append(matrix[row][column])
28+
#
29+
# ''' Getting the matrix secondary diagonal '''
30+
# secondary_columns = columns[::-1]
31+
# secondary_diagonal.append(secondary_columns[row])
32+
#
33+
# print(abs(sum(primary_diagonal) - sum(secondary_diagonal)))
Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,37 @@
11
rows, columns = list(map(int, input().split()))
22

3-
matrix = []
3+
matrix = [input().split() for row in range(rows)]
4+
45
squares = 0
56

67
for row in range(rows):
7-
columns = input().split()
8-
matrix.append(columns)
98

10-
try:
9+
for col in range(columns):
10+
if row+1 < rows and col+1 < columns:
11+
symbol = matrix[row][col]
12+
if matrix[row][col+1] == symbol and matrix[row+1][col] == symbol and matrix[row+1][col+1] == symbol:
13+
squares += 1
1114

12-
for index, column in enumerate(columns):
13-
if columns[index + 1] == column:
14-
if 0 < row and matrix[row - 1][index] == column and matrix[row - 1][index + 1] == column:
15-
squares += 1
15+
print(squares)
1616

17-
except IndexError:
18-
continue
1917

20-
print(squares)
18+
# rows, columns = list(map(int, input().split()))
19+
#
20+
# matrix = []
21+
# squares = 0
22+
#
23+
# for row in range(rows):
24+
# columns = input().split()
25+
# matrix.append(columns)
26+
#
27+
# try:
28+
#
29+
# for index, column in enumerate(columns):
30+
# if columns[index + 1] == column:
31+
# if 0 < row and matrix[row - 1][index] == column and matrix[row - 1][index + 1] == column:
32+
# squares += 1
33+
#
34+
# except IndexError:
35+
# continue
36+
#
37+
# print(squares)
Lines changed: 84 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,93 @@
1+
import sys
2+
13
rows, columns = list(map(int, input().split()))
24

35
matrix = [
4-
[
5-
int(col) for col in input().split()
6-
]
7-
for row in range(rows)
6+
[int(num) for num in input().split()]
7+
for row in range(rows)
88
]
99

10-
sum_square = -181
11-
square = []
10+
maximal_sum_matrix = []
11+
maximal_sum = -sys.maxsize
12+
13+
end_of_matrix = False
1214

1315
for row in range(rows):
1416

15-
try:
16-
17-
for column in range(columns):
18-
19-
new_square = []
20-
21-
''' Getting the square numbers '''
22-
first_line = matrix[row][column:column+3]
23-
second_line = matrix[row+1][column:column+3]
24-
third_line = matrix[row+2][column:column+3]
25-
26-
''' Appending the square numbers to the new_square '''
27-
[new_square.append(num) for num in first_line]
28-
[new_square.append(num) for num in second_line]
29-
[new_square.append(num) for num in third_line]
30-
31-
'''
32-
Checking if the new square sum is bigger
33-
Than the old one, and if so, changing the
34-
Old square and square sum with the new ones.
35-
'''
36-
if sum(new_square) > sum_square:
37-
sum_square = sum(new_square)
38-
square = new_square
39-
40-
except IndexError:
41-
continue
42-
43-
print(f"Sum = {sum_square}")
44-
[
45-
print(' '.join(
46-
[
47-
str(col) for col in square[cols-3:cols]
48-
]
49-
)
50-
)
51-
for cols in range(3, 9 + 1, 3)
52-
]
17+
for col in range(columns):
18+
if row+2 < rows and col+2 < columns:
19+
check_matrix = [
20+
[
21+
matrix[row][col], matrix[row][col+1], matrix[row][col+2]
22+
],
23+
[
24+
matrix[row+1][col], matrix[row+1][col+1], matrix[row+1][col+2]
25+
],
26+
[
27+
matrix[row+2][col], matrix[row+2][col+1], matrix[row+2][col+2]
28+
]
29+
]
30+
sum_check_matrix = sum(check_matrix[0]) + sum(check_matrix[1]) + sum(check_matrix[2])
31+
if sum_check_matrix > maximal_sum:
32+
maximal_sum_matrix = check_matrix
33+
maximal_sum = sum_check_matrix
34+
35+
print(f"Sum = {maximal_sum}")
36+
[print(' '.join([str(num) for num in row])) for row in maximal_sum_matrix]
37+
38+
5339

54-
# [print(' '.join([str(col) for col in square[cols-3:cols]])) for cols in range(3, 9 + 1, 3)]
40+
# rows, columns = list(map(int, input().split()))
41+
#
42+
# matrix = [
43+
# [
44+
# int(col) for col in input().split()
45+
# ]
46+
# for row in range(rows)
47+
# ]
48+
#
49+
# sum_square = -181
50+
# square = []
51+
#
52+
# for row in range(rows):
53+
#
54+
# try:
55+
#
56+
# for column in range(columns):
57+
#
58+
# new_square = []
59+
#
60+
# ''' Getting the square numbers '''
61+
# first_line = matrix[row][column:column+3]
62+
# second_line = matrix[row+1][column:column+3]
63+
# third_line = matrix[row+2][column:column+3]
64+
#
65+
# ''' Appending the square numbers to the new_square '''
66+
# [new_square.append(num) for num in first_line]
67+
# [new_square.append(num) for num in second_line]
68+
# [new_square.append(num) for num in third_line]
69+
#
70+
# '''
71+
# Checking if the new square sum is bigger
72+
# Than the old one, and if so, changing the
73+
# Old square and square sum with the new ones.
74+
# '''
75+
# if sum(new_square) > sum_square:
76+
# sum_square = sum(new_square)
77+
# square = new_square
78+
#
79+
# except IndexError:
80+
# continue
81+
#
82+
# print(f"Sum = {sum_square}")
83+
# [
84+
# print(' '.join(
85+
# [
86+
# str(col) for col in square[cols-3:cols]
87+
# ]
88+
# )
89+
# )
90+
# for cols in range(3, 9 + 1, 3)
91+
# ]
92+
#
93+
# # [print(' '.join([str(col) for col in square[cols-3:cols]])) for cols in range(3, 9 + 1, 3)]
Lines changed: 34 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,42 @@
1-
import string
1+
from string import ascii_letters
22

3-
letters_to_numbers = dict(zip(string.ascii_lowercase, range(1, 26 + 1)))
3+
letters = dict(zip([ord(c)%32 for c in ascii_letters], ascii_letters.lower()))
44

5-
numbers_to_letters = {number: letter for letter, number in letters_to_numbers.items()}
5+
rows, columns = list(map(int, input().split()))
66

7-
rows, columns = [int(num) for num in input().split()]
8-
9-
palindromes_matrix = []
7+
matrix = []
108

119
for row in range(rows):
1210

1311
cols = []
1412

15-
for column in range(columns):
16-
17-
palindrome = numbers_to_letters[row+1] + numbers_to_letters[row+1 + column] + numbers_to_letters[row+1]
18-
cols.append(palindrome)
19-
20-
palindromes_matrix.append(cols)
21-
22-
[print(' '.join(palindromes)) for palindromes in palindromes_matrix]
13+
for col in range(columns):
14+
column = letters[row+1] + letters[col+row+1] + letters[row+1]
15+
cols.append(column)
16+
17+
matrix.append(cols)
18+
print(' '.join(cols))
19+
20+
21+
# import string
22+
#
23+
# letters_to_numbers = dict(zip(string.ascii_lowercase, range(1, 26 + 1)))
24+
#
25+
# numbers_to_letters = {number: letter for letter, number in letters_to_numbers.items()}
26+
#
27+
# rows, columns = [int(num) for num in input().split()]
28+
#
29+
# palindromes_matrix = []
30+
#
31+
# for row in range(rows):
32+
#
33+
# cols = []
34+
#
35+
# for column in range(columns):
36+
#
37+
# palindrome = numbers_to_letters[row+1] + numbers_to_letters[row+1 + column] + numbers_to_letters[row+1]
38+
# cols.append(palindrome)
39+
#
40+
# palindromes_matrix.append(cols)
41+
#
42+
# [print(' '.join(palindromes)) for palindromes in palindromes_matrix]

0 commit comments

Comments
 (0)