Создайте функцию, которая принимает среднедневное количество случаев излечения (recovers
), среднедневное количество новых случаев заболевания (new_cases
), текущее количество активных случаев (active_cases
)и возвращает количество дней, которое потребуется для достижения нулевого количества случаев.
Пример:
end_corona(4000, 2000, 77000) ➞ 39 end_corona(3000, 2000, 50699) ➞ 51 end_corona(30000, 25000, 390205) ➞ 79
Примечание:
- Число выздоравливающих в день
recovers
всегда будет больше, чем ежедневное числоnew_cases
. - Будьте предусмотрительными и округляйте необходимое количество дней в большую сторону.
Варианты решений:
from math import ceil def end_corona(recovers, new_cases, active_cases): return ceil(active_cases/(recovers - new_cases))
def end_corona(recovers, new_cases, active_cases): count = 0 while active_cases > 0: active_cases -= recovers active_cases += new_cases count += 1 return count
end_corona = lambda r,n,a: (a // (r - n)) + 1
def end_corona(recovers, new_cases, active_cases): return round(active_cases / (recovers - new_cases) + 0.5)