summaryrefslogtreecommitdiff
path: root/lab3/lab3.py
diff options
context:
space:
mode:
Diffstat (limited to 'lab3/lab3.py')
-rw-r--r--lab3/lab3.py24
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()