1. Вы говорите про множества, а ипользуете кортеж
2. Если взять дествительно множества то для их сравнения не нужно изобретать велосипед, достаточно бинарного and
A = {'a', 'b', 'c'}
B = {'c', 'd'}
C = {'d', 'e'}
D = set()
bool(A & B)
True
bool(A & C)
False
bool(D & D)
False
D == D
True
Практическое пременение подобных сравнений всегда нужно для того чтобы найти эти общие элементы и получить результат. Пустое множество точно таких пересечений ни с чем не содержит.
Но если цепляться к вашей реализации то она настолько же оптимальна насколько сортировка пузырьком.
Зачем гонять цикл в цикле?
Зачем если нашли пересечение продолжать итерации?
for inSet1 in set1:
if inSet1 in set2:
#print('множества пересекаются: ', inSet1, '=', inSet2)
pm = True
break
2. Если взять дествительно множества то для их сравнения не нужно изобретать велосипед, достаточно бинарного and
Практическое пременение подобных сравнений всегда нужно для того чтобы найти эти общие элементы и получить результат. Пустое множество точно таких пересечений ни с чем не содержит.
Но если цепляться к вашей реализации то она настолько же оптимальна насколько сортировка пузырьком.
Зачем гонять цикл в цикле?
Зачем если нашли пересечение продолжать итерации?
Учитись писать код