Задание 7: Найдите отсутствующего Во время дистанционного урока, который проводится на сервисе видеоконференций

Задание 7: Найдите отсутствующего Во время дистанционного урока, который проводится на сервисе видеоконференций, учитель заметил, что один из N учащихся не присутствует. Чтобы определить, кто именно отсутствует, учитель попросил каждого присутствующего ученика написать в чат свой номер в классном журнале, который может быть любым числом от 1 до N. После завершения урока, учитель сможет просмотреть сохраненный чат и узнать, какой ученик не написал свой номер. Ваша задача - написать программу, которая выполнит это. Входные данные:
Антонович

Антонович

Чтобы решить данную задачу, мы можем использовать подход, основанный на принципе исключения. Давайте разберемся, как это работает.

Мы имеем N учеников, и каждый из них должен написать свой номер в чат. После этого, в сохраненном чате будет информация о номерах всех присутствующих учеников. Отсутствующий ученик не написал свой номер, поэтому мы можем найти его, исключая из списка номеров всех присутствующих учеников.

Для решения этой задачи мы можем использовать список чисел от 1 до N и постепенно исключать номера, которые мы видим в чате. Оставшийся номер будет номером отсутствующего ученика.

Давайте рассмотрим пример:

Предположим, что N = 5 и в чате у нас следующая информация: [2, 4, 1, 3]

Мы начинаем со списка чисел от 1 до N: [1, 2, 3, 4, 5]

После того, как мы видим номер 2 в чате, мы удаляем его из списка: [1, 3, 4, 5]

Затем мы видим номер 4 и снова удаляем его из списка: [1, 3, 5]

Продолжаем этот процесс для всех чисел, которые мы видим в чате.

В итоге, останутся только номера тех учеников, которые не появлялись в чате. В данном случае, в итоге получим [1, 3, 5], и можно сделать вывод, что отсутствует ученик с номером 1, 3 и 5.

Теперь, когда мы понимаем принцип решения, давайте напишем программу, которая будет выполнять это.

Входные данные:

Введите количество учеников (N): 5
Введите номера, которые присутствующие ученики написали в чате: 2 4 1 3

Программа:

python
N = int(input("Введите количество учеников: "))
chat_numbers = input("Введите номера, которые присутствующие ученики написали в чате: ").split()

present_students = set(map(int, chat_numbers))
all_students = set(range(1, N+1))

absent_students = all_students - present_students

print("Отсутствующие ученики:", end=" ")
for student in absent_students:
print(student, end=" ")


Выходные данные:

Отсутствующие ученики: 5

В этой программе, мы сначала считываем количество учеников (N) с помощью функции input(). Затем мы считываем номера, которые присутствующие ученики написали в чате, и разделяем их с помощью функции split().

Мы создаем множество present_students, содержащее числа, которые ученики написали в чате, и множество all_students, содержащее все числа от 1 до N.

Затем мы используем операцию разности множеств, чтобы найти отсутствующих учеников (absent_students).

Наконец, мы выводим результат, перебирая элементы множества absent_students с помощью цикла for и печатаем их на экране.

Надеюсь, данное решение полностью соответствует вашим требованиям. Если у вас возникнут вопросы, не стесняйтесь задавать их.
Знаешь ответ?
Задать вопрос
Привет!
hello