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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy