summaryrefslogtreecommitdiff
path: root/lab5/lab5.py
diff options
context:
space:
mode:
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)