From ef6abff6f63e2b79ee9e2c4e417503d23e1e65a3 Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Fri, 25 Mar 2022 21:00:44 +0400 Subject: =?UTF-8?q?=D0=94=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BB=20=D1=82?= =?UTF-8?q?=D1=80=D0=B5=D1=82=D1=8C=D1=8E=20=D0=BB=D0=B0=D0=B1=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lab3/lab3.py | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) (limited to 'lab3/lab3.py') diff --git a/lab3/lab3.py b/lab3/lab3.py index 8921b7d..bb41579 100644 --- a/lab3/lab3.py +++ b/lab3/lab3.py @@ -93,9 +93,12 @@ def check_operation(): if check_distributivity(cayley, cayley2, elements): status.append("дистрибутивность") - print("Заданная бинарная операция обладает следующими свойствами:") - for i in status: - print(i) + if status: + print("Заданная бинарная операция обладает следующими свойствами:") + for i in status: + print(i) + else: + print("Заданная бинарная операция не обладает никакими свойствами") ###################### @@ -130,33 +133,33 @@ def check_relations(): a.append(line) return np.array(a, dtype=bool) - n = input("Введите размерность проверяемых отношений: ") + n = int(input("Введите размерность проверяемых отношений: ")) - print("Введите бинарное отношение A") + print("Введите бинарное отношение A:") a = read_array(n) - print("Введите бинарное отношение B") + print("Введите бинарное отношение B:") b = read_array(n) print("Объединение бинарных отношений:") - print(np.int(a + b)) + print((a + b).astype(int)) print("Пересечение бинарных отношений:") - print(np.int(np.multiply(a, b))) + print(np.multiply(a, b).astype(int)) print("Дополнение бинарного отношения A:") - print(np.int(1 - a)) + print((1 - a).astype(int)) print("Дополнение бинарного отношения B:") - print(np.int(1 - b)) + print((1 - b).astype(int)) print("Бинарное отношение, обратное A:") - print(np.int(np.transpose(a))) + print(np.transpose(a).astype(int)) print("Бинарное отношение, обратное B:") - print(np.int(np.transpose(b))) + print(np.transpose(b).astype(int)) print("Композиция отношений:") - print(np.int(np.matmul(a, b))) + print(np.matmul(a, b).astype(int)) ######################## # Операции с матрицами # @@ -182,9 +185,9 @@ def check_matrices(): def read_matrix(n: int, m: int) -> np.array: a = [] for _ in range(n): - line = list(map(int, input().strip().split())) + line = list(map(float, input().strip().split())) a.append(line) - return np.array(a, dtype=bool) + return np.array(a, dtype=float) print("1 - Сложение матриц;") print("2 - Умножение матрицы на скаляр;") @@ -202,8 +205,8 @@ def check_matrices(): print("Сумма матриц:") print(mat_add(a, b)) elif test == 2: - n, m = map(int, input("Введите размерность матриц: ").split()) - print("Введите матрицу A:") + n, m = map(int, input("Введите размерность матрицы: ").split()) + print("Введите матрицу:") a = read_matrix(n, m) alpha = float(input("Введите скаляр: ")) @@ -211,17 +214,18 @@ def check_matrices(): print("Результат:") print(mat_scale(a, alpha)) elif test == 3: - n, m = map(int, input("Введите размерность матриц: ").split()) - print("Введите матрицу A:") + n, m = map(int, input("Введите размерность матрицы: ").split()) + print("Введите матрицу:") a = read_matrix(n, m) print("Результат:") print(mat_transpose(a)) elif test == 4: - n, m = map(int, input("Введите размерность матриц: ").split()) + n, m = map(int, input("Введите размерность матрицы A: ").split()) print("Введите матрицу A:") a = read_matrix(n, m) + n, m = map(int, input("Введите размерность матрицы B: ").split()) print("Введите матрицу B:") b = read_matrix(n, m) -- cgit v1.2.3