Skip to content

Commit 0c0a741

Browse files
committed
added README
1 parent a90af91 commit 0c0a741

File tree

1 file changed

+93
-2
lines changed

1 file changed

+93
-2
lines changed

README.md

Lines changed: 93 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,93 @@
1-
# hw_python_oop
2-
Sprint 2. Итоговый проект.
1+
# Модуль расчёта денег и калорий
2+
3+
Яндекс Практикум. Спринт 2. Итоговый проект.
4+
5+
## Описание
6+
7+
Модуль представляет собой калькуляторы подсчёта денег и калорий на основе записей пользователя.
8+
9+
## Класс записей пользователя
10+
11+
```python
12+
class Record
13+
```
14+
15+
### Свойства класса записей
16+
17+
* amount - количество потребляемых калорий или потраченных денег;
18+
* comment - коментарии пользователя;
19+
* date - дата записи;
20+
21+
### Пример создания экземпляра класса
22+
23+
```python
24+
r1 = Record(amount=122, comment='Хороший шопинг', date='09.04.2019')
25+
```
26+
27+
## Родительский класс калькулятора
28+
29+
```python
30+
class Calculator
31+
```
32+
33+
### Свойства класса калькулятора
34+
35+
* limit - максимально допустимое количество потребляемых калорий или потраченных денег;
36+
* records - словарь, содержащий все записи пользователя;
37+
38+
### Методы класса калькулятора
39+
40+
* `get_today_date()` - метод возвращает текущую дату;
41+
* `get_week_date()` - метод возвращает текущую неделю;
42+
* `add_record(record)` - метод принимает на вход новую запись `record` и добавляет её в словарь `records`;
43+
* `get_today_stats()` - метод возвращает сумму расходов на сегодня;
44+
* `get_week_stats()` - метод возвращает сумму расходов за неделю;
45+
* `get_today_limit()` - метод возвращает лимит расходов на сегодня;
46+
47+
## Наследники класса калькулятора
48+
49+
### Класс калькулятора денег
50+
51+
```python
52+
class CashCalculator
53+
```
54+
55+
### Свойства класса калькулятора денег
56+
57+
* limit - максимально допустимое количество потраченных денег;
58+
* records - словарь, содержащий все записи пользователя;
59+
60+
### Константы класса калькулятора денег
61+
62+
* `USD_RATE` - курс доллара к рублю, USD/RUB;
63+
* `EURO_RATE` - курс евро к рублю, EUR/RUB;
64+
65+
### Методы класса калькулятора денег
66+
67+
* `get_today_cash_remained(currency)` - метод принимает на вход `currency` - ключ словаря `currencies` курсов валюты и возвращает сообщение о состоянии дневного баланса в указанной валюте, округляя значение типа float до 2 знаков после запятой:
68+
* *«Указана неверная валюта. Повторите ввод.»*, если вводимая `currency` отсутствует в `currencies`;
69+
* *«Денег нет, держись»*, если лимит достигнут;
70+
* *«На сегодня осталось N руб/USD/Euro»* — в случае, если лимит `limit` не достигнут;
71+
* *«Денег нет, держись: твой долг - N руб/USD/Euro»*, если лимит превышен;
72+
73+
```python
74+
# базовая формула расчета
75+
лимит_расходов_на_сегодня / курс_валюты
76+
```
77+
78+
### Класс калькулятора калорий
79+
80+
```python
81+
class CaloriesCalculator
82+
```
83+
84+
### Свойства класса калькулятора калорий
85+
86+
* limit - максимально допустимое количество потребляемых калорий;
87+
* records - словарь, содержащий все записи пользователя;
88+
89+
### Методы класса калькулятора калорий
90+
91+
* `get_calories_remained()` - метод возвращает сообщение, в зависимости от значения `limit`:
92+
* *«Сегодня можно съесть что-нибудь ещё, но с общей калорийностью не более N кКал»*, если лимит не достигнут;
93+
* *«Хватит есть!*, если лимит превышен;

0 commit comments

Comments
 (0)
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