Симметрическая разность множеств

Симметрическая разность множеств Реализуйте бинарную операцию над множествами — симметрическую разность. Её результатом являются те элементы двух множеств, которые принадлежат ровно одному из множеств (но не принадлежат их пересечению).

Входные данные В первой строке записано натуральное число — количество элементов первого множества. Во второй строке через пробел перечислены эти элементы (натуральные числа). В третьей строке указано количество элементов второго множества (натуральное). В четвертой строке перечислены через пробел элементы второго множества (натуральные числа). Множества во входных данных могут быть неупорядочены и содержать равные элементы.

Выходные данные Результат требуется вывести в том же формате: сначала количество элементов, полученных в результате операции, затем (если получено ненулевое количество элементов) вывести сами элементы в порядке возрастания. Множество в выводе должно быть упорядочено, и все элементы его должны быть различными. Пример Ввод 3 1 2 3 2 3 4 Вывод 3 1 2 4 Мой код:

a=int(input())
A=set(input())
b=int(input())
B=set(input())
C = A.symmetric_difference(B)
print(len(C))
C=sorted(C)
for n in C:
    print(n, end = ' ')

Помогите, пожалуйста, найти ошибку. В проверке пишет ошибку. Вроде пример выполняет, а проверку не проходит. Правда, я не задействую переменные а и b.


Ответы (1 шт):

Автор решения: nomnoms12

Проблема в отрицательных числах: print(set('-1 0 1')) == {' ', '-', '1', '0'}.

Попробуйте так:

n_1 = input()
A = set(map(int, input().split()))

n_2 = input()
B = set(map(int, input().split()))

C = A.symmetric_difference(B)
C = sorted(C)

print(len(C))
print(*C, sep=' ')
→ Ссылка