در این سوال شما باید یک کلاس مدیریت فاکتورهای فروش برای شرکت سجادینه طراحی کنید. در شرکت سجادینه افراد زیادی میتوانند فاکتورهای مالی را ثبت کنند و هر کدام از این افراد تاریخ فاکتور را به یکی از ۶ فرمتی که در جدول پایین آمده ثبت میکنند.
برای مثال یک فاکتور که روز دوم ماه ششم سال ۲۰۲۰ ثبت شود، میتواند طبق یکی از فرمتهای زیر ثبت شود:
زمانی که در سیستم ثبت میشود | فرمت زمان |
---|---|
02/06/2020 |
dd/mm/yyyy |
02/2020/06 |
dd/yyyy/mm |
2020/06/02 |
yyyy/mm/dd |
2020/02/06 |
yyyy/dd/mm |
06/2020/02 |
mm/yyyy/dd |
06/02/2020 |
mm/dd/yyyy |
پروژه اولیه را از این لینک دانلود کنید. شما باید کلاس FactorHandler
را در این فایل کامل کنید به طوری که سه تابع زیر عملکردهای خواسته شده را داشته باشند.
add_factor
این تابع به ترتیب سه ورودی time_format
و time
و value
را ورودی میگیرد. مقدار time_format
یکی از ۶ رشته جدول بالا است و time
تاریخ ثبت فاکتور بر حسب فرمت داده شده است. مقدار value
هم، هزینه فروش فاکتور داده شده برای آن تاریخ را مشخص میکند.
remove_all_factors
این تابع به ترتیب سه ورودی time_format
و time
را ورودی میگیرد که هر دویشان مانند تابع add_factor
هستند؛ این تابع تمام فاکتورهایی که در تاریخ داده شده ثبت شدهاند را از لیست فاکتورها حذف میکند.
get_sum
این تابع به ترتیب سه ورودی time_format
و start_time
و finish_time
را ورودی میگیرد و جمع هزینه فاکتورهایی که از تاریخ start_time
تا finish_time
ثبتشدهاند (شامل خود این دو تاریخ) را برمیگرداند.
در همه توابع تضمین میشود که time
حتما بر حسب فرمت time_format
است. توجه کنید که هیچ یک از توابع بالا را نباید استاتیک تعریف کنید.
یک فایل پایتون که کلاس FactorHandler
در آن پیادهسازی شده است را آپلود کنید.