Симметрическая разность множеств
Симметрическая разность множеств Реализуйте бинарную операцию над множествами — симметрическую разность. Её результатом являются те элементы двух множеств, которые принадлежат ровно одному из множеств (но не принадлежат их пересечению).
Входные данные В первой строке записано натуральное число — количество элементов первого множества. Во второй строке через пробел перечислены эти элементы (натуральные числа). В третьей строке указано количество элементов второго множества (натуральное). В четвертой строке перечислены через пробел элементы второго множества (натуральные числа). Множества во входных данных могут быть неупорядочены и содержать равные элементы.
Выходные данные Результат требуется вывести в том же формате: сначала количество элементов, полученных в результате операции, затем (если получено ненулевое количество элементов) вывести сами элементы в порядке возрастания. Множество в выводе должно быть упорядочено, и все элементы его должны быть различными. Пример Ввод 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 шт):
Проблема в отрицательных числах: 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=' ')