Экзамен модуля 01: расчёт предложения¶
Формат¶
Время — 90–120 минут. Разрешены собственные заметки и официальная документация. Практическое задание нельзя копировать с заменой имён: формулы и тестовые данные здесь отличаются.
Задание¶
Создайте программу quote.py для предварительного расчёта одной позиции коммерческого предложения. Она запрашивает название, цену закупки, целое количество и процент наценки.
Формулы:
базовая сумма = цена закупки × количество
сумма наценки = базовая сумма × процент наценки / 100
цена предложения = базовая сумма + сумма наценки
Правила:
- название не может быть пустым;
- цена и количество не могут быть отрицательными;
- наценка допускается от 0 до 1000 процентов;
- числовая ошибка показывает сообщение и повторяет запрос;
- расчёт выполняется отдельной функцией без
inputиprint; - результат отображается с двумя знаками после точки.
Обязательные проверки¶
| Название | Цена | Количество | Наценка | База | Наценка | Итог |
|---|---|---|---|---|---|---|
| Шкаф | 1250.00 | 2 | 20 | 2500.00 | 500.00 | 3000.00 |
| Кабель | 80.00 | 0 | 15 | 0.00 | 0.00 | 0.00 |
| Датчик | 99.90 | 3 | 10 | 299.70 | 29.97 | 329.67 |
| Услуга | 500.00 | 1 | 0 | 500.00 | 0.00 | 500.00 |
Дополнительно покажите обработку пустого названия, буквенной цены, количества -1 и наценки 1001.
Что сдаётся¶
quote.py;- README с командой запуска и правилами;
- таблица «ожидание/факт» для восьми проверок;
- короткая запись об одной найденной ошибке: симптом, причина, исправление и повторная проверка.
Оценивание¶
| Критерий | Баллы |
|---|---|
| Формулы дают четыре ожидаемых результата | 3 |
| Ввод и диапазоны проверяются | 2 |
| Расчёт отделён в функцию | 2 |
| Циклы завершаются после корректного ввода | 1 |
| README воспроизводим | 1 |
Автор объясняет типы, условия и return |
1 |
Зачёт — не менее 8 из 10 баллов. Правильные формулы и отсутствие необработанной трассировки на обязательных ошибочных данных являются обязательными независимо от суммы баллов.
После экзамена¶
Не переходите к коллекциям, пока не можете с чистого файла написать функцию расчёта и проверить её на двух наборах чисел. Команды и синтаксис разрешено уточнять в документации; формулу, границы данных и способ проверки вы должны сформулировать самостоятельно.