Допустим, вы нашли свою работу мечты. В этой компании любопытная система оплаты: в геометрической прогрессии. За первый месяц вы получаете сумму first_month
, но уже в следующем месяце ваша зарплата вырастет в multiplier
раз.
Напишите функцию, которая будет принимать first_month
и multiplier
и возвращать число месяцев, необходимых для того, чтобы скопить миллион.
Предположим, что вы ничего не тратите из зарплаты, пока не накопите больше миллиона.
million_in_month(10, 2) ➞ 17 million_in_month(100, 1.01) ➞ 464 million_in_month(50, 100) ➞ 4 1m = 50 2m= 5050 3m = 505050 4m = 50505050
Не забудьте вернуть результат в месяцах. Накопить нужно больше миллиона (savings > 1000000).
def million_in_month(first_month, multiplier): count = 1 total = first_month while total < 1000000: count += 1 first_month *= multiplier total += first_month return count
import math def million_in_month(first_month, multiplier): #goal = 10**6# or 1000000; return math.ceil(math.log((1-1000000*(1-multiplier)/first_month),multiplier))
В этом руководстве мы разберем все, что нужно знать о символах перехода на новую строку…
Блок if __name__ == "__main__" в Python позволяет определить код, который будет выполняться только при…
Давайте разберем, как настроить модульные тесты для экземпляров классов. Мы напишем тесты для проверки функциональности…
Функции Python - это вызываемые объекты. Это означает, что для выполнения кода, определенного в функции,…
Многие программы на Python нуждаются в навигации по файловой системе для чтения и записи файлов.…
Юнит-тестирование с помощью unittest заключается в создании тест-кейсов для проверки функциональности отдельных частей вашего кода.…