Промпт DeepSeek для Python-скрипта расчёта сметы. Полезен прорабам и заказчикам ремонта.
Промпт
Напиши Python-скрипт калькулятор сметы на ремонт. Принимает на вход: размеры комнат (длина, ширина, высота), список работ с расценками и расходом материалов. Должен: 1) Считать площадь стен / пола / потолка автоматически 2) Считать материалы с запасом (можно настраивать %) 3) Печатать отчёт по каждой комнате 4) Выводить итог: работы + материалы + непредвиденные 5) Сохранять результат в CSV. Используй dataclasses, чистый код с type hints. Структура файла: класс Room, класс Work, класс Material, функция calculate(rooms, works, materials, contingency=0.1).
Заполнить под себя — промпт обновится выше, пустые поля останутся плейсхолдерами
Пример результата
```python
from dataclasses import dataclass, field
from typing import List
import csv
@dataclass
class Room:
name: str
length: float
width: float
height: float
@property
def floor(self) -> float: return self.length * self.width
@property
def walls(self) -> float: return 2 * (self.length + self.width) * self.height
@dataclass
class Work:
name: str
price_per_m2: float
surface: str # 'floor' | 'walls' | 'ceiling'
def calculate(rooms: List[Room], works: List[Work], contingency: float=0.1):
total = 0
for room in rooms:
for work in works:
area = getattr(room, work.surface)
cost = area * work.price_per_m2
print(f'{room.name} | {work.name}: {area:.1f} м² × {work.price_per_m2} = {cost:.0f} ₽')
total += cost
print(f'\nИтого работ: {total:.0f} ₽')
print(f'+ {contingency*100:.0f}% непредвиденные: {total*contingency:.0f} ₽')
print(f'ВСЕГО: {total*(1+contingency):.0f} ₽')
```