From a9869f0dab129bd94400c3aa2b0787e3e4a9c62b Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Fri, 1 Apr 2022 21:02:19 +0400 Subject: =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D1=83=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D1=82=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D0=B8=20=D0=BE?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lab3/lab3.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lab3/lab3.py b/lab3/lab3.py index 2ddcc18..a07828a 100644 --- a/lab3/lab3.py +++ b/lab3/lab3.py @@ -37,10 +37,14 @@ def check_idempotence(cayley: np.array, elements: list) -> bool: def check_reversibility(cayley: np.array, elements: list) -> bool: n = cayley.shape[0] for i in range(n): + flag = True for j in range(n): if cayley[i, j] != 1 or cayley[j, i] != 1: - return False - return True + flag = False + break + if flag: + return True + return False # cayley1 - *, cayley2 - + @@ -62,14 +66,14 @@ def check_distributivity(cayley1: np.array, cayley2: np.array, elements: list) - def check_operation(): print("Введите элементы множества, на котором определена операция:") - elements = input().strip().split() + elements = list(map(int, input().strip().split())) n = len(elements) print("Введите таблицу Кэли:") cayley = [] for i in range(n): - line = input().strip().split() + line = list(map(int, input().strip().split())) cayley.append(line) - cayley = np.array(cayley, dtype=str) + cayley = np.array(cayley, dtype=int) status = [] @@ -81,18 +85,18 @@ def check_operation(): status.append("идемпотентность") if check_reversibility(cayley, elements): status.append("обратимость") - + flag = input("Проверить на дистрибутивность? (да/НЕТ) ") if flag.lower() == "да": print("Введите таблицу Кэли второй операции:") cayley2 = [] for i in range(n): - line = input().strip().split() + line = list(map(int, input().strip().split())) cayley2.append(line) - cayley2 = np.array(cayley2, dtype=str) + cayley2 = np.array(cayley2, dtype=int) if check_distributivity(cayley, cayley2, elements): status.append("дистрибутивность") - + if status: print("Заданная бинарная операция обладает следующими свойствами:") for i in status: @@ -261,4 +265,4 @@ def main(): if __name__ == "__main__": - main() \ No newline at end of file + main() -- cgit v1.2.3