Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Проект 11: Калькулятор для бухгалтера 🧮

Консольное приложение для расчёта налогов и зарплаты с использованием точных вычислений.

🎯 Что закрепляет

  • Модуль decimal (точные вычисления для денег)
  • Округление с quantize и ROUND_HALF_UP
  • Обработка ошибок (InvalidOperation, DivisionByZero)
  • Защита пользовательского ввода
  • Работа с процентами и формулами

📋 Функционал

1. Расчёт НДФЛ (13%)

  • Ввод суммы начисления ("грязными")
  • Вычисление налога
  • Вывод результата с точностью до копеек

2. Расчёт страховых взносов (30%)

  • Ввод суммы начисления ("грязными")
  • Вычисление взносов
  • Вывод результата

3. Расчёт суммы "грязными"

  • Ввод желаемой суммы "на руки" ("чистыми")
  • Вычисление, сколько нужно начислить
  • Учёт НДФЛ 13%

4. Выход

  • Завершение программы

🛡️ Обработка ошибок

  • Меню: защита от букв, проверка диапазона (1-4)
  • Ввод суммы: защита от букв, пустого ввода
  • Decimal: InvalidOperation при кривом формате (запятая вместо точки)
  • Деление на ноль: DivisionByZero (процент = 100)
  • Отрицательные суммы: проверка amount <= 0
  • Понятные сообщения для каждой ошибки

📝 Пример работы

=============================================
БУХГАЛТЕРСКИЙ КАЛЬКУЛЯТОР
=============================================

1. Рассчитать НДФЛ (13%): 
2. Рассчитать страховые взносы (30%): 
3. Рассчитать сумму "грязными" (указывай чистыми): 
4. Выход

Выберите действие (1-4): 1
Введите зарплату (грязными): 100000
13000.00₽

Выберите действие (1-4): 2
Введите зарплату (грязными): 100000
30000.00₽

Выберите действие (1-4): 3
Введите зарплату (чистыми): 100000
114942.53₽

Выберите действие (1-4): 4

🧠 Чему научился

  • Работать с Decimal для точных финансовых расчётов
  • Округлять деньги до копеек
  • Преобразовывать "чистую" зарплату в "грязную" и обратно
  • Защищать код от всех возможных ошибок ввода
  • Писать универсальные функции с параметрами
  • Строить бесконечное меню с защитой

📁 Структура проекта

11_accountant_calc/
├── main.py    # основной код программы
└── README.md  # документация

🚀 Как запустить

python main.py

📊 Статус

✅ Проект готов