-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmatrices.py
More file actions
47 lines (42 loc) · 1.57 KB
/
matrices.py
File metadata and controls
47 lines (42 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
def read_matrix():
matrix = []
print("Please input your matrix below: ")
while True:
row_input = input().strip()
if not row_input:
break
row = list(map(int, row_input.split()))
matrix.append(row)
return matrix
def scalar_multiplication(matrix, scalar):
result = []
for row in matrix:
new_row = [element * scalar for element in row]
result.append(new_row)
return result
def transpose(matrix):
transposed = [[row[i] for row in matrix] for i in range(len(matrix[0]))]
return transposed
if __name__ == "__main__":
# Read the matrix
original_matrix = read_matrix()
print("Your matrix:")
print('[[{}]'.format(', '.join(map(str, original_matrix[0]))), end='')
for row in original_matrix[1:]:
print(', [{}]'.format(', '.join(map(str, row))), end='')
print(']')
# Scalar multiplication
scalar = 8
scalar_multiplied_matrix = scalar_multiplication(original_matrix, scalar)
print("\nScalar multiplication with {}:".format(scalar))
print('[[{}]'.format(', '.join(map(str, scalar_multiplied_matrix[0]))), end='')
for row in scalar_multiplied_matrix[1:]:
print(', [{}]'.format(', '.join(map(str, row))), end='')
print(']')
# Transpose
transposed_matrix = transpose(original_matrix)
print("\nTransposition:")
print('[[{}]'.format(', '.join(map(str, transposed_matrix[0]))), end ='')
for row in transposed_matrix[1:]:
print(', [{}]'.format(', '.join(map(str, row))), end='')
print(']')