Приветы!
Начал проходить на Яндекс академии бесплатный курс программирования по Python.
Имеется текст задачи:
Формат ввода
В первых двух строках указывается количество детей, любящих манную и овсяную каши (N и M).
Затем идут N+M строк — перемешанные фамилии детей.
Гарантируется, что в группе нет однофамильцев.
Формат вывода
В алфавитном порядке фамилии учеников, которые любят только одну кашу.
Если таких не окажется, в строке вывода нужно написать «Таких нет».
Мучался долго над решением. первый вариант написал за пару минут, но он не проходит проверки при том, что похожие решения находил в интернете (используются операции с множествами, в данном случае - симметричная разность ^).
Просидев час переписал программу используя новый список m, формируемый из первого n (в m попадают только те элементы, количество которых в n = 1) Этот вариант прошел проверку.
И потом еще сидел час так и не поняв, какие проверки не прошла первая версия программы.
Может быть пропустил какие-то исключения или еще что-то? ума не приложу..
Некорректное решение (прошло 6 из 22х проверок)
Корректное решение (Прошло все проверки)"
Начал проходить на Яндекс академии бесплатный курс программирования по Python.
Имеется текст задачи:
Формат ввода
В первых двух строках указывается количество детей, любящих манную и овсяную каши (N и M).
Затем идут N+M строк — перемешанные фамилии детей.
Гарантируется, что в группе нет однофамильцев.
Формат вывода
В алфавитном порядке фамилии учеников, которые любят только одну кашу.
Если таких не окажется, в строке вывода нужно написать «Таких нет».
Мучался долго над решением. первый вариант написал за пару минут, но он не проходит проверки при том, что похожие решения находил в интернете (используются операции с множествами, в данном случае - симметричная разность ^).
Просидев час переписал программу используя новый список m, формируемый из первого n (в m попадают только те элементы, количество которых в n = 1) Этот вариант прошел проверку.
И потом еще сидел час так и не поняв, какие проверки не прошла первая версия программы.
Может быть пропустил какие-то исключения или еще что-то? ума не приложу..
Некорректное решение (прошло 6 из 22х проверок)
Python:
x = int(input())
y = int(input())
n = []
m = []
i = 0
while i != x:
n += input().split()
i += 1
i = 0
while i != y:
m += input().split()
i += 1
print('Таких нет' if len(set(n) ^ set(m)) == 0 else len(set(n) ^ set(m)))
Корректное решение (Прошло все проверки)"
Python:
x = int(input())
y = int(input())
n = []
m = []
k = 0
while k != x:
n += input().split()
k += 1
k = 0
while k != y:
n += input().split()
k += 1
for i in range(len(n)):
if n.count(n[i]) == 1:
m.append(n[i])
s = sorted(m)
print('\n'.join(s) if len(m) > 0 else 'Таких нет')