یک کلاس Python بنویسید که یک فایل متنی شامل اعداد را میخواند و با استفاده از decoratorِ built-inِ @property خواص آماری (مانند mean، standard deviation، min، max و sum) را بهصورت lazy (فقط در اولین دسترسی محاسبه شده و نتیجه کش میشود) بازگرداند و امکان بازخوانی (reload) دادهها را فراهم کند.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:29 0.0
در __init__ نام فایل را بگیرید و یک متد private برای خواندن و تبدیل خطوط به لیست float بسازید؛ برای هر خاصیت (mean، std، min، max، sum) یک @property تعریف کنید که اگر مقدار کششده None بود آن را محاسبه و در یک متغیر خصوصی ذخیره کند. میتوانید از ماژولهای استاندارد مثل statistics یا از توابع پایه (sum، len و math.sqrt برای واریانس/انحراف معیار) استفاده کنید؛ برای بازخوانی دادهها متدی بنویسید که لیست داده را دوباره بارگذاری کرده و کشها را پاک میکند. نکات: خطوط خالی را نادیده بگیرید، خطاهای تبدیل را هندل کنید و برای فایل خالی رفتار مناسبی (مثلاً پرتاب ValueError یا برگرداندن None) تعریف نمایید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای lazy بودن، از None بهعنوان مقدار کش نشده استفاده کنید تا هر خاصیت فقط در اولین دسترسی محاسبه و کش شود. متد reload باید دادهها را دوباره بخواند و همه کشها را به None بازنشانی کند تا مقادیر جدید منعکس شوند. برای خطوط خالی یا تبدیل ناموفق، تصمیم واضحی بگیرید: مثلاً یا ValueError بدهید یا None برگردانید و در محاسبههای بعدی خطا را مدیریت کنید. همچنین به رفتار فایل خالی توجه کنید و تعیین کنید که آیا باید ValueError پرتاب شود یا None بازگردانید.
گزارش