Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
1 / 1 / 0
Регистрация: 02.01.2013
Сообщений: 25

К доске

05.05.2022, 12:03. Показов 5091. Ответов 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): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru