Помогите решить задачу по Python пожалуйста.
Условие
Вы работаете с данными о пассажирах, проходящих через систему безопасности аэропорта. Ежедневно система фиксирует номера пассажиров, прошедших контроль. Иногда в записях могут возникать дубликаты номеров, которые необходимо удалить для обеспечения точности данных.
Ваша задача заключается в написании программы для обработки этих записей:
Формат входных данных
В первой строке дан список целых чисел (числа вводятся в строку через пробел).
Во второй строке дано целое число х - повторяющийся номер, который надо удалить.
Формат выходных данных
Вывести новый список в строку через пробел.
Примеры
ВХОДНЫЕ ДАННЫЕ ВЫХОДНЫЕ ДАННЫЕ 123 123 565 687 897 123 467 900 578 123 565 687 897 467 900 578 12 12 565 687 12 13 897 12 467 900 578 1240 12 565 687 897 467 900 578 1240
Информатика 10 класс Программирование на Python Python задача по программированию удаление дубликатов обработка данных алгоритмы на Python работа со списками фильтрация данных система безопасности аэропорта программирование для начинающих решение задач по информатике Новый
Давайте разберем, как решить данную задачу по шагам. Мы будем использовать язык программирования Python для обработки списка номеров пассажиров и удаления дубликатов, а также номеров, следующих сразу после дубликатов.
Шаг 1: Ввод данных
Сначала нам нужно получить входные данные. Мы будем использовать функцию input()
для ввода списка номеров и повторяющегося номера:
split()
.Шаг 2: Обработка списка
Теперь мы можем создать новый список, в который будем добавлять номера, проверяя условия:
Шаг 3: Вывод результата
Наконец, мы выводим новый список номеров, соединяя их в строку через пробел.
Теперь давайте посмотрим на сам код:
# Шаг 1: Ввод данных passenger_numbers = input("Введите номера пассажиров через пробел: ").split() repeated_number = input("Введите повторяющийся номер: ") # Шаг 2: Обработка списка new_list = [] i = 0 while i < len(passenger_numbers): if passenger_numbers[i] == repeated_number: # Пропускаем повторяющийся номер и следующий i += 2 else: new_list.append(passenger_numbers[i]) i += 1 # Шаг 3: Вывод результата print(" ".join(new_list))
Объяснение кода:
while
для итерации по индексам списка passenger_numbers
.repeated_number
, мы увеличиваем индекс на 2, чтобы пропустить как текущий номер, так и следующий.new_list
и увеличиваем индекс на 1.join()
, чтобы объединить элементы нового списка в строку и выводим результат.Таким образом, программа успешно удаляет повторяющиеся номера и номера, идущие сразу после них. Вы можете протестировать код с разными входными данными, чтобы убедиться в его корректности.