Циклы · 22 из 26
Термостат в теплице
На даче поставили в теплицу обогреватель с термостатом. Первый термостат был простой: ниже восемнадцати — включить, выше — выключить. Обогреватель щёлкал каждую минуту и за неделю сгорел. У нового два порога: он включается, когда в теплице холоднее нижнего, и выключается, только когда теплее верхнего, а между ними оставляет как было. Прежде чем доверить ему рассаду, хочется посмотреть на сутки его работы.
Что сделать
Просчитайте минута за минутой, как меняется температура в теплице с таким термостатом. Как она остывает и греется — в «Подробных правилах».
Что приходит
t0— температура в теплице в начале, °Culica— температура на улице по десятиминуткам: первое число — первые десять минут, второе — следующие десять, и так далееvkl— ниже этого термостат включает обогревательvykl— выше этого выключает
Что вернуть
Список температур в теплице: в начале и после каждой минуты, округлённых до сотых.
Допишите функцию teplica в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
В теплице 18,5°, на улице десять минут держится 10°, пороги — 18 и 24. Теплица остывает: 18,33, 18,16, 18,0 — это ещё не холоднее порога, — 17,84. Теперь холоднее: обогреватель включается, и дальше 18,08, 18,32… Всего одиннадцать чисел.
teplica(18.5, [10], 18, 24)
[18.5, 18.33, 18.16, 18.0, 17.84, 18.08, 18.32, 18.56, 18.78, 19.01, 19.23]
Обогреватель в начале выключен. Каждую минуту, по порядку:
- термостат смотрит на температуру t: если t < vkl — включает обогреватель, если t > vykl — выключает, иначе оставляет как было;
- теплица остывает к уличной: t = t + (u − t) · 0.02, где u — улица в эту десятиминутку;
- включённый обогреватель добавляет ещё 0.4 градуса.
Минут всего — 10 · len(ulica). В список — температура в начале и после каждой минуты, round(t, 2); считается без округления. Пустой список ulica — ни одной минуты, в ответе только начало.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.