Как решить эту задачу? Помогите пожалуйста ,ничего не лезет в голову

Напишите программу, которая принимает на вход список чисел в одной строке и выводит на экран в одну строку значения, которые встречаются в нём более одного раза.

Для решения задачи может пригодиться метод sort списка.

Выводимые числа не должны повторяться, порядок их вывода может быть произвольным.

Sample Input 1:

4 8 0 3 4 2 0 3
Sample Output 1:

0 3 4
Sample Input 2:

10
Sample Output 2:

Sample Input 3:

1 1 2 2 3 3
Sample Output 3:

1 2 3
Sample Input 4:

1 1 1 1 1 2 2 2
Sample Output 4:

1 2

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

Автор решения: n1tr0xs
  1. Просим пользователя ввести данные.
  2. Используем словарь для подсчета кол-ва повторов.
  3. Выводим числа с повтором >1.
→ Ссылка
Автор решения: CrazyElf

Ещё как вариант можно использовать два множества:

  • в первое множество собирать числа, которые встречаются в первый раз
  • во второе множество собирать те числа, которые ранее попали в первое множество и после этого встретились ещё раз
  • вывести в конце второе множество

Вариантов полно как эту задачу можно решить.

→ Ссылка
Автор решения: spectrum

Думаю наилучший вариант такой:

def find_more_than_once(li):
  return [item for item in set(li) if li.count(item) > 1]

li = [4,8,0,3,4,2,0,3]
print(find_more_than_once(li))

P.S научитесь гуглить..

UPD
Ну и если на вход подается не список, а строка формата "0 1 2 3" то просто сплитим по пробелу:

def str_to_li(s):
    return s.split(' ')
→ Ссылка