-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathzadanie1.py
64 lines (64 loc) · 2.1 KB
/
zadanie1.py
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import os #biblioteka do czyszczenia wyjscia
macierz1= []
macierz2 =[]
def printuj(tablica): #funkcja do printowania macierzy w czytelnej formie
for line in tablica:
print(line)
def sprawdz(m,n): #sprawdzamy czy wymiary macierz (MxN) są odpowiednie
if m < 2:
raise ValueError
if n < 2:
raise ValueError
def stworz(macierz,m,n): #tworzymy macierz o podanych wymiarach
for i in range(m):
lista = []
for j in range(n):
x = int(input(f'''Wprowadz {j+1}. liczbe w {i+1}. wierszu '''))
lista.append(x)
macierz.append(lista)
printuj(macierz)
def dodaj(macierz1,macierz2,m,n):
macierz = [] #tworzymy nową macierz która będzie wynikiem
for i in range(m):
lista = []
for j in range(n):
lista.append(macierz1[i][j] + macierz2[i][j]) #dodajemy A11 i B11 na listę
macierz.append(lista)
print('Wynik dodawania macierzy:')
printuj(macierz)
def odejmij(macierz1,macierz2,m,n):
macierz = [] #tworzymy nową macierz która będzie wynikiem
for i in range(m):
lista = []
for j in range(n):
lista.append(macierz1[i][j] - macierz2[i][j])
macierz.append(lista)
print('Wynik odejmowania macierzy:')
printuj(macierz)
try:
print('Podaj rozmiary macierzy na których będą wykonywane operacje')
m = int(input('Ilość wierszy='))
n = int(input('Ilość kolumn='))
sprawdz(m,n)
stworz(macierz1,m,n)
stworz(macierz2,m,n)
operacja = str(input('Wybierz operację: + lub - >>'))
os.system("clear") #czyścimy wyjście przed podaniem wyniku
if operacja == '+':
dodaj(macierz1,macierz2,m,n)
elif operacja == '-':
odejmij(macierz1,macierz2,m,n)
else:
raise KeyError
except ValueError:
print('Za małe te macierze...')
except KeyError:
print('Nieobsługiwana operacja')
# PRZYPADKI TESTOWE:
# [11,34] [2,31] [13,65]
# [80,86] + [0,0] = [80,86]
# [21,313] [311,1] [332,314]
#
# [1,71] [2,9] [3,80]
# [96,11] - [13,31] = [109,42]
# [0,12] [86,68] [88,80]