Сформировать декартово произведение множеств АхВ

adilamir

Новичок
Пользователь
Апр 28, 2020
11
0
1
Сформировать декартово произведение множеств АхВ (A задается не более чем m случайными неповторяющимися цифрами, В задается не более, чем n случайными неповторяющимися цифрами), составить бинарное отношение R, выполнить над R указанные операции (независимые друг от друга). Отношение R: Меньше на 1 или на 2. Операции над R: 1.Обмен позициями. 2. Удвоение 2-ой позиции.

Python:
def cart(a,b):
    res=[]
    for aa in a:
        for bb in b:
            res.append((aa,bb))
    return set(res)

def start():
    a=set(map(int,input("a=").split()))
    b=set(map(int,input("b=").split()))
    print("Декартово произведение:")
    print(cart(a,b))
    
start()
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
973
220
43
21
Москва
В чем вопрос?
 

adilamir

Новичок
Пользователь
Апр 28, 2020
11
0
1
Как сделать операции над R?
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
973
220
43
21
Москва
Мда, выглядит ТЗ страшно)
Если я правильно понял, то:
1) R это список пар чисел, например [[1,2], [12,3], [6,4]]
2) Составить отношения меньше на 1 или 2
Было [[1,2], [12,3], [6,4]]
Стало [True, False, True]
(Можно сделать пройдясь циклом и проверив)
3) Обмен местами
(Пройти по списку, каждый элемент развернуть и добавить в новый список)
4) Удалить второй элемент
(Пройти по списку, у каждого элемента взять 2-е число и добавить в новый список)
 

Форум IT Специалистов