در این سوال از شما میخواهیم میانگین متحرک روی یک لیست از اعداد را محاسبه کنید.
<details class="yellow">
<summary>
**توضیحات بیشتر در مورد میانگین متحرک**
</summary>
**میانگین متحرک (Moving Average)** یکی از شاخصهای مهم و کاربردی فراوان، در *تحلیل تکنیکال* است، که با حذف نوسانات قیمتی کمک میکند، تا سرمایهگذار بتواند تصویر بهتری از متوسط قیمت و روند قیمتی را ترسیم کند.
میانگین متحرک یکی از شاخصهای قیمتی دنبالهرو است، چرا که متوسط قیمت سهام در گذشته را نشان میدهد (برای مثال ۵۰، ۱۰۰ یا ۲۰۰ روز گذشته).
دو نوع میانگین متحرک وجود دارد: **میانگین متحرک ساده (Simple Moving Average: SMA)** و **میانگین متحرک نمایی (Exponential Moving Average: EMA)**. میانگین متحرک ساده تنها متوسطی از قیمت سهام، در بازهی زمانی مورد نظر است (همانطوری که یک دانش آموز میانگین نمراتش را حساب کرده و نام آن را معدل میگذارد)، ولی نحوهی محاسبه میانگین متحرک نمایی بهصورتی است، که هر چه قیمت به انتهای بازهی زمانی (قیمت فعلی) نزدیکتر میشود، وزن سنگینتری را در محاسبه میانگین ایفا میکند. به بیانی دیگر میانگین متحرک نمایی همان **میانگین وزندار** متوسط قیمت است، که قیمتهای اخیر، وزن بیشتری را در محاسبه دربردارند.
برای مطالعهی بیشتر در مورد این شاخص میتوانید به [ویکیپدیا](https://fa.wikipedia.org/wiki/%D9%85%DB%8C%D8%A7%D9%86%DA%AF%DB%8C%D9%86_%D9%85%D8%AA%D8%AD%D8%B1%DA%A9) مراجعه کنید.
</details>
برای محاسبهی میانگین متحرک $k$تایی روی $n$ داده از عضو اول شروع کرده (تا پایان عضو $n-k+1$ام) و پنجرههای $k$تایی جدا کرده و میانگین هر پنجره را حساب میکنیم. برای درک بهتر تصویر زیر را مشاهده نمایید:
![توضیح تصویر](https://quera.org/qbox/view/7J2ZYJ82lc/1.png)
در جدول بالا پنجرههای به طول ۴ از ستون `Data` جدا و میانگین هر پنجره به ترتیب از اول در ستون
`Moving Average`
وارد شده است.
باید تابعی بنویسید که با گرفتن یک لیست از قیمتها و اندازهی پنجره به عنوان ورودی، میانگین متحرک را تا دو رقم اعشار حساب کند.
## نحوه ارسال
تابع زیر را با نام `moving_average` پیادهسازی کرده و در یک فایل پایتون ذخیره و آپلود نمایید.
ورودی تابع یک آرایهی نامپای (`np.array`) با نام `data_list` و اندازهی پنجره یعنی `window_size` است و خروجی آن نیز باید بهصورت یک آرایهی نامپای باشد که طول آن برابر `len(data_list) - window_size + 1` است.
```python
import numpy as np
def moving_average(data_list, window_size):
# TO-DO
```
کد خود را در فایلی به نام `q1.py` ذخیره کرده و جهت داوری در سامانه آپلود کنید. **توجه** داشته باشید که در این تابع تنها مجاز به استفاده از کتابخانهی نامپای (`numpy`) هستید. همچنین از هرگونه قبل از ارسال از نبود دستور پرینت در کد ارسالی خود اطمینان حاصل نمایید.
<details class="red">
<summary>
**هشدار**
</summary>
فراموش نکنید که **قبل از پایان زمان مسابقه**، **باید** تمامی کدهای این مسابقه را از قسمت **بارگذاری کُد** برای ما ارسال کنید. در غیر اینصورت، شما از این مسابقه، امتیازی کسب نمیکنید.
توجه داشته باشید که اگر از `jupter notebook` استفاده میکنید بایستی همانند توضیحات قسمت **بارگذاری کُد**، خروجی `.py` را دریافت و برای ارسال در نظر بگیرید. ارسال فایلهای `jupyter` همانند `.ipynb` مورد قبول نیستند.
</details>
## نمونه ورودی
```python
data_list = np.array([1,5,3,4,4]), window_size = 3
```
## خروجی
```python
np.array([3.0,4.0,3.67])
```