diff options
| author | Andrew Guschin <guschin.drew@gmail.com> | 2022-04-01 21:02:19 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin.drew@gmail.com> | 2022-04-01 21:02:19 +0400 |
| commit | a9869f0dab129bd94400c3aa2b0787e3e4a9c62b (patch) | |
| tree | 66c58fb911c32ae38638d73370d5eae6992ebbe6 | |
| parent | 4304a5e64108140c7890ee034a957f7eb8208054 (diff) | |
Исправил проверку обратимости операции
| -rw-r--r-- | lab3/lab3.py | 24 |
1 files 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() |