Циклы · 24 из 26
Бочка, насос и дырка
Задействованы также: Числа и ввод, Условия
Насос качает воду в бочку по часам, из бочки поливают по расписанию, а ещё она подтекает. Николай Иванович хочет знать, перельётся ли она через край и когда именно.
Что сделать
Проследите за бочкой час за часом и скажите, перельётся ли она через край — и когда.
Что приходит
obyom— объём бочки в литрахpritok— сколько литров приходит от насоса в каждый час, списокraskhod— сколько уходит на полив в каждый час, список той же длиныutechka— сколько вытекает за час
Что вернуть
Номер часа, считая с 1, когда воды станет больше объёма, — или None, если бочка так и не перельётся.
Допишите функцию kogda_perepolnitsya в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
Каждый час — сначала приток, и сразу проверка края, потом полив, потом утечка; меньше нуля воды не бывает. Бочка на 100: в первый час пришло 50, во второй ещё 60 — уже 110, через край: ответ 2.
kogda_perepolnitsya(100, [50, 60, 10], [0, 0, 0], 0)
2
Функция принимает: объём бочки (целое), список притока по часам (сколько литров приходит в каждый час), список расхода по часам (той же длины) и утечку в литрах за час (целое). В начале бочка пуста. Каждый час по очереди: сначала приток, потом расход, потом утечка. Вода не может стать меньше нуля. Возвращает номер часа (считая с 1), в конце которого воды станет больше объёма бочки, или None, если этого не случится. Переполнение проверяется сразу после притока, до расхода.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.