Соревнования (Python). №16 ОГЭ
Подборка заданий, в которых формулировка отличается от ввода последовательности чисел.
Имена переменных могут быть другими.
№DB34E2
условие
решение
На соревнованиях по бегу на 5000 метров для выхода в финал необходимо показать время не более 18 минут 30 секунд.
Сколько спортсменов по результатам соревнований вышли в финал?
Программа получает на вход количество спортсменов, принимавших участие в соревнованиях (1 ≤ N ≤ 100), затем для каждого спортсмена вводится два числа: минуты и секунды – время, показанное на дистанции.
Пример работы программы:
Входные данные | Выходные данные |
---|---|
2 17 15 19 20 | 1 |
Корректность введённых данных не проверяем.
Пусть sportsmen – общее количество спортсменов, finalists – количество финалистов, minutes, seconds – время в минутах и секундах соответственно.
Вводим количество спортсменов, используя input(), преобразуем в целое число при помощи int(). Переменная finalists – это по сути переменная-счётчик вышедших в финал спортсменов, присваиваем ей начальное значение 0.
Организуем цикл с количеством повторений по количеству спортсменов. Судя по входным данным, время в минутах и секундах по каждому спортсмену вводится через пробел. При помощи метода split() делим введённые данные по пробелу. Используем функцию map, чтобы преобразовать их в целые числа.
Если количество минут – 18 и при этом секунд не больше 30 или же если минут меньше 18, спортсмен должен попасть в список финалистов. То есть, в этом случае переменная finalists увеличится на 1.
После завершения цикла, когда введены данные по всем спортсменам, выводим количество финалистов – значение переменной finalists.
Вариант решения
sportsmen = int(input())
finalists = 0
for sportsman in range(sportsmen):
minutes, seconds = map(int, input().split())
if (minutes == 18 and seconds <= 30) or minutes < 18:
finalists += 1
print(finalists)
Похожая задача про парусную регату.
№59429F
условие
решение
Участники парусной регаты стартовали одновременно. На финише фиксировалось время прохождения маршрута каждой яхтой (в часах и минутах). Определите время победителя регаты (в часах и минутах). Известно, что соревнования проходили в течение 12 часов.
Программа получает на вход количество яхт, принимавших участие в регате
N (1 ≤ N ≤ 100), затем для каждой яхты вводится два числа: часы и минуты, затраченные на прохождение маршрута.
Пример работы программы:
Входные данные | Выходные данные |
---|---|
2 3 25 2 50 | 2 50 |
yachts – количество яхт, принимавших участие в регате. Лучшее время (best_hour, best_minutes) изначально будет максимально возможным, по условию это 12 часов 00 минут. Уменьшая лучшее время при сравнении с временем каждой яхты (hour, minutes), найдём наименьшее. То есть, определим время победителя.
Примеры из Банка заданий ОГЭ.