Skip to content

Яндекс Практикум. Проект 2-го спринта: модуль фитнес-трекера. Модуль представляет собой калькуляторы подсчёта финансов и калорий на основе записей пользователя.

Notifications You must be signed in to change notification settings

egorcoders/hw_python_oop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Модуль расчёта денег и калорий

Python pytest

Яндекс Практикум. Спринт 2. Итоговый проект.

Описание

Модуль представляет собой калькуляторы подсчёта финансов и калорий на основе записей пользователя.

Класс записей пользователя

class Record

Свойства класса записей

  • amount - количество потребляемых калорий или потраченных денег;
  • comment - коментарии пользователя;
  • date - дата записи;

Пример создания экземпляра класса

r1 = Record(amount=122, comment='Хороший шопинг', date='09.04.2019')

Базовый класс калькулятора

class Calculator
  1. Свойства класса калькулятора

    • limit - максимально допустимое количество потребляемых калорий или потраченных денег;
    • records - словарь, содержащий все записи пользователя;
  2. Методы класса калькулятора

    • get_today_date() - метод возвращает текущую дату;
    • get_week_date() - метод возвращает текущую неделю;
    • add_record(record) - метод принимает на вход новую запись record и добавляет её в словарь records;
    • get_today_stats() - метод возвращает сумму расходов на сегодня;
    • get_week_stats() - метод возвращает сумму расходов за неделю;
    • get_today_limit() - метод возвращает лимит расходов на сегодня;

Наследники класса калькулятора

Класс калькулятора денег

class CashCalculator
  1. Свойства класса

    • limit - максимально допустимое количество потраченных денег;
    • records - словарь, содержащий все записи пользователя;
  2. Константы класса

    • USD_RATE - курс доллара к рублю, USD/RUB;
    • EURO_RATE - курс евро к рублю, EUR/RUB;
  3. Методы класса

    • get_today_cash_remained(currency) - метод принимает на вход currency - ключ словаря currencies курсов валюты и возвращает сообщение о состоянии дневного баланса в указанной валюте, округляя значение типа float до 2 знаков после запятой:

      # базовая формула расчета
      лимит_расходов_на_сегодня / курс_валюты
    • «Указана неверная валюта. Повторите ввод.», если вводимая currency отсутствует в currencies;

    • «Денег нет, держись», если лимит достигнут;

    • «На сегодня осталось N руб/USD/Euro», если лимит limit не достигнут;

    • «Денег нет, держись: твой долг - N руб/USD/Euro», если лимит превышен;

Класс калькулятора калорий

class CaloriesCalculator
  1. Свойства класса

    • limit - максимально допустимое количество потребляемых калорий;
    • records - словарь, содержащий все записи пользователя;
  2. Методы класса

    • get_calories_remained() - метод возвращает сообщение, в зависимости от значения limit:
    • «Сегодня можно съесть что-нибудь ещё, но с общей калорийностью не более N кКал», если лимит не достигнут;
    • «Хватит есть!, если лимит превышен;

Установка

  1. Клонировать репозиторий:

    git clone https://github.com/egorcoders/hw_python_oop.git
  2. Перейти в папку с проектом:

    cd hw_python_oop/
  3. Запустить проект локально:

    # для OS Lunix и MacOS
    python homework.py
    
    # для OS Windows
    python3 homework.py

About

Яндекс Практикум. Проект 2-го спринта: модуль фитнес-трекера. Модуль представляет собой калькуляторы подсчёта финансов и калорий на основе записей пользователя.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages