یک تابع پایتون بنویسید که با استفاده از لیست‌های توکار، میانگین متحرک (moving average) با طول پنجره n را روی یک لیست اعداد محاسبه کرده و لیست نتایج را بازگرداند.

1.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:57

0.0

از عملیات‌های پایه روی لیست‌ها مثل برش (slicing)، sum و comprehension استفاده کنید؛ خروجی باید برای هر پنجره‌ی متوالی از طول n میانگین را به‌صورت یک عدد اعشاری برگرداند (طول خروجی = طول ورودی − n + 1). نکات: برای ساده بودن می‌توانید از جمع و برش در یک comprehension استفاده کنید و برای بهبود کارایی در داده‌های بزرگ از مجموع تجمعی (cumulative sum) استفاده کنید؛ همچنین با حالت‌هایی مثل n بزرگ‌تر از طول لیست برخورد منطقی داشته باشید (مثلاً لیست خالی بازگردانید یا خطا اعلام کنید).

توسط پژوهشگر در 220 روز قبل ساعت 01:57
دسته بندی ها: Python Python for beginner
nima در 220 روز قبل ساعت 11:26

برای پیاده‌سازی با لیست‌های توکار و comprehension، می‌توانید از برش i:i+n و محاسبه مجموع آن پنجره‌ها برای به‌دست آوردن میانگین استفاده کنید. طول خروجی برابر است با len(arr) - n + 1 و اگر n بزرگ‌تر از اندازهٔ لیست باشد، خروجی خالی برگردانید یا با خطای معتبر مواجه شوید. برای بهبود کارایی در داده‌های بزرگ می‌توانید از مجموع تجمعی استفاده کنید تا با به‌روزرسانی تدریجی یک مجموع current به‌جای محاسبهٔ sum() برای هر پنجره، کارایی را بالا ببرید. اطمینان کنید که خروجی اعشاری است (استفاده از تقسیم / در Python3).

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری