summaryrefslogtreecommitdiff
path: root/lab5/lab5.py
diff options
context:
space:
mode:
authorAndrew Guschin <guschin.drew@gmail.com>2022-05-15 17:30:56 +0400
committerAndrew Guschin <guschin.drew@gmail.com>2022-05-15 17:30:56 +0400
commitc04fd874af4e641aeeba2e4a4a991fd81225a5d3 (patch)
tree5205602f3828ec4f343887381c3754f087353e4f /lab5/lab5.py
parent8a57d07922f0298a67ef2742f203c74c19e79662 (diff)
Добавление тестов пятой лабы
Diffstat (limited to 'lab5/lab5.py')
-rw-r--r--lab5/lab5.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/lab5/lab5.py b/lab5/lab5.py
index 5cf5027..eeda67c 100644
--- a/lab5/lab5.py
+++ b/lab5/lab5.py
@@ -119,6 +119,15 @@ def print_cayley(semigroup, cayley):
print()
+def print_ideals(semigroup, right_ideals, left_ideals):
+ for element in semigroup:
+ r = right_ideals[element]
+ l = right_ideals[element]
+ print(f"({element}] = {{{', '.join(r)}}}")
+ print(f"[{element}) = {{{', '.join(l)}}}")
+ print(f"[{element}] = {{{', '.join(r | l)}}}")
+
+
def make_semigroup():
print("Введите элементы полугруппы:")
semigroup = set(input().split())
@@ -126,9 +135,9 @@ def make_semigroup():
print("Введите количество преобразований:")
k = int(input())
+ print(f"Введите преобразования:")
translations = []
for _ in range(k):
- print(f"Введите преобразование: ")
key, val = input().split()
translations.append((key, val))
@@ -169,6 +178,9 @@ def main():
d = r + l
print(d.astype(int))
+ print("Идеалы:")
+ print_ideals(semigroup, right_ideals, left_ideals)
+
print("egg-box диаграмма:")
egg_box = get_egg_box(d, semigroup)
print(egg_box)