Skip to content

BogdanEgorov/Python_Samples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Создайте два калькулятора: для подсчёта денег и калорий. Пользовательскую часть калькуляторов, их «лицо», писать не нужно, напишите только логику — отдельный класс для каждого из калькуляторов.

Калькулятор денег должен уметь:

  1. Сохранять новую запись о расходах методом add_record()

  2. Считать, сколько денег потрачено сегодня методом get_today_stats()

  3. Определять, сколько ещё денег можно потратить сегодня в рублях, долларах или евро — метод get_today_cash_remained(currency)

  4. Считать, сколько денег потрачено за последние 7 дней — метод get_week_stats()

Калькулятор калорий должен уметь:

  1. Сохранять новую запись о приёме пищи— метод add_record()

  2. Считать, сколько калорий уже съедено сегодня — метод get_today_stats()

  3. Определять, сколько ещё калорий можно/нужно получить сегодня — метод get_calories_remained()

  4. Считать, сколько калорий получено за последние 7 дней — метод get_week_stats()

У калькуляторов много пересекающихся функций: они должны уметь хранить какие-то записи (о еде или деньгах, но по сути - всё числа и даты), знать дневной лимит (сколько в день можно истратить денег или сколько калорий можно получить) и суммировать записи за конкретные даты. Всю эту общую функциональность заложите в родительский класс Calculator, а от него унаследуйте классы CaloriesCalculator и CashCalculator.

Конструктор класса Calculator должен принимать один аргумент — число limit (дневной лимит трат/калорий, который задал пользователь). В конструкторе создайте пустой список, в котором потом будут храниться записи (назовите его records).

Чтобы было удобнее создавать записи, создайте для них отдельный класс Record. В нём сохраните:

· число amount (денежная сумма или количество килокалорий),

· дату создания записи date (передаётся в явном виде в конструктор, либо присваивается значение по умолчанию — текущая дата),

· комментарий comment, поясняющий, на что потрачены деньги или откуда взялись калории.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages