✍️ قیمت واحد هزینه یک کالا است؛ مبلغ ردیف به تعداد آن کالا وابسته است. پیش از جمع کردن گزارش، برای هر ردیف quantity * unit_price را حساب میکنیم. اگر مستقیم قیمتهای واحد را جمع کنیم، فروشهای چندتایی را کمتر از مقدار واقعی ثبت کردهایم.
مثلاً دو کتاب با قیمت واحد پنجاه، مبلغ صد میسازد. حالا نتیجه این قطعه را مشخص کن:
rows = [
{'quantity': 3, 'unit_price': 20},
{'quantity': 2, 'unit_price': 15},
{'quantity': 1, 'unit_price': 0},
]
total = sum(row['quantity'] * row['unit_price'] for row in rows)
print(total)
سومین ردیف قیمت صفر دارد؛ مبلغش صفر است اما ردیف فروش معتبر محسوب میشود. این کد فقط درآمد را میخواهد و قرار نیست تعداد فروش یا مجموع quantity را چاپ کند. خطای رایج، انتخاب مجموع تعدادها یا مجموع قیمتهای واحد بهجای مبلغ نهایی است.
برای ردگیری، کنار هر ردیف مبلغ خودش را بنویس و سپس جمع کن. این روش یک بررسی دستی مستقل میدهد که در پروژه نهایی هم مفید است؛ اگر جمع by_product و جمع by_day با total_revenue نخواند، احتمالاً در یکی از مسیرهای تجمیع ردیفی جا افتاده یا دوبار شمرده شده است.
فعالیت شما
درآمد کل سه ردیف را انتخاب کن؛ مبلغ هر ردیف quantity*unit_price است و قیمت صفر مبلغ صفر دارد.