1 / 1 / 0
Регистрация: 02.01.2013
Сообщений: 25

К доске

05.05.2022, 12:03. Показов 5112. Ответов 4

Студворк — интернет-сервис помощи студентам
В класс пришел новый учитель. Он пока не очень хорошо помнит фамилии учеников. В глобальной переменной log находится список учеников класса по журналу. Напишите функции:
pupil_number(surname) – если такой ученик есть в списке, функция выводит его номер, если нет, выводится сообщение:
Такого ученика нет.
add_pupil(surname) – если такого ученика нет в журнале, функция добавляет ученика в журнал, причем он снова должен быть отсортирован по алфавиту, печатается сообщение:
Ученик <фамилия> добавлен.
Если такой ученик уже есть в журнале (считаем, что в нашем классе нет однофамильцев), печатается сообщение:
Такой ученик уже есть в журнале.
to_the_blackboard(n) – вызывает ученика по номеру в журнале к доске и печатает сообщение:
<Фамилия>, к доске!
Два раза вызвать одного ученика нельзя. При повторном вызове выводится сообщение:
Сан Саныч, Вы меня уже вызывали!

Пример
Ввод
log = ['Иванов', 'Кузнецов', 'Петрова']
pupil_number("Петрова")
add_pupil("Смирнов")
add_pupil("Иванов")
to_the_blackboard(4)
add_pupil("Васильев")
pupil_number("Смирнов")
to_the_blackboard(5)

Вывод
3
Ученик Смирнов добавлен.
Такой ученик уже есть в журнале.
Смирнов, к доске!
Ученик Васильев добавлен.
5
Сан Саныч, Вы меня уже вызывали!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.05.2022, 12:03
Ответы с готовыми решениями:

Шахматы на доске
есть задача: Вам дана расстановка n фигур на доске, Программа получает на вход n пар чисел, каждое число от 1 до 8 — координаты n...

Все фигуры на доске
Переработайте приведённую в уроке программу «шахматы» таким образом, чтобы фигуры (за исключением коня) не могли ходить друг сквозь друга. ...

Положение фигур на доске
Задать на шахматной доске положения слона (С) и туры (Т). Найти все возможные ходы туры, чтобы она не попадала под бой слона Образцы ввода...

4
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
05.05.2022, 12:32
Кипиш42,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
log = ['Иванов', 'Кузнецов', 'Петрова']
called = []
 
def pupil_number(surname):
    if surname not in log:
        print("Такого ученика нет.")
    else:
        print(log.index(surname) + 1)
    
def add_pupil(surname):
    if surname in log:
        print("Такой ученик уже есть в журнале.")
    else:
        log.append(surname)
        log.sort()
        print(f"Ученик {surname} добавлен.")
        
def to_the_blackboard(n):
    if log[n - 1] in called:
        print("Сан Саныч, Вы меня уже вызывали!")
    else:
        print(f"{log[n - 1]}, к доске!")
        
pupil_number("Петрова")
add_pupil("Смирнов")
add_pupil("Иванов")
to_the_blackboard(4)
add_pupil("Васильев")
pupil_number("Смирнов")
to_the_blackboard(5)
0
1 / 1 / 0
Регистрация: 02.01.2013
Сообщений: 25
05.05.2022, 12:44  [ТС]
Ввод
log = ['Иванов', 'Кузнецов', 'Петрова']
pupil_number("Петрова")
add_pupil("Смирнов")
add_pupil("Иванов")
to_the_blackboard(4)
add_pupil("Васильев")
pupil_number("Смирнов")
to_the_blackboard(5)

Ожидаемый результат
3
Ученик Смирнов добавлен.
Такой ученик уже есть в журнале.
Смирнов, к доске!
Ученик Васильев добавлен.
5
Сан Саныч, Вы меня уже вызывали!

Вывод
3
Ученик Смирнов добавлен.
Такой ученик уже есть в журнале.
Смирнов, к доске!
Ученик Васильев добавлен.
5
Смирнов, к доске!
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
05.05.2022, 12:55
Лучший ответ Сообщение было отмечено Кипиш42 как решение

Решение

Кипиш42,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
log = ['Иванов', 'Кузнецов', 'Петрова']
called = []
 
def pupil_number(surname):
    if surname not in log:
        print("Такого ученика нет.")
    else:
        print(log.index(surname) + 1)
    
def add_pupil(surname):
    if surname in log:
        print("Такой ученик уже есть в журнале.")
    else:
        log.append(surname)
        log.sort()
        print(f"Ученик {surname} добавлен.")
        
def to_the_blackboard(n):
    if log[n - 1] in called:
        print("Сан Саныч, Вы меня уже вызывали!")
    else:
        print(f"{log[n - 1]}, к доске!")
        called.append(log[n - 1])
        
pupil_number("Петрова")
add_pupil("Смирнов")
add_pupil("Иванов")
to_the_blackboard(4)
add_pupil("Васильев")
pupil_number("Смирнов")
to_the_blackboard(5)
1
1 / 1 / 0
Регистрация: 02.01.2013
Сообщений: 25
05.05.2022, 14:56  [ТС]
Огромное спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.05.2022, 14:56
Помогаю со студенческими работами здесь

Все фигуры на доске
Переработайте приведённую в уроке программу «шахматы» таким образом, чтобы фигуры (за исключением коня) не могли ходить друг сквозь друга. ...

Фигуры на шахматной доске
Задача: Написать программу шахмат, для двух игроков, забирание фигуры не делать. Я написал программу шахмат с классами и фигурами,...

Расстановка N ферзей на шахматной доске N×N
Требуется расставить N ферзей на шахматной доске N×N таким образом, чтобы никакие два ферзя не били друг друга. Расстановку необходимо...

Количество перестановок на шахматной доске
Имеется доска n×n, окрашенная в белый и черный цвета в шахматном порядке, причем белых клеток не меньше, чем черных. Посчитайте число...

Количество расстановок N ферзей на шахматной доске N×N
Требуется подсчитать количество расстановок N ферзей на шахматной доске N×N таким образом, чтобы никакие два ферзя не били друг друга. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru