سجاد یک لیست $n$ تایی از اعداد دارد و در گروههای مختلف آن را تقسیمبندی میکند؛ به این صورت که $m$ عضو اول را در یگ گروه قرار میدهد، $m$ عضو بعدی را در یک گروه و به همین ترتیب اعضا را گروه بندی میکند (دقت کنید که گروه آخر ممکن است کمتر از $m$ عضو داشته باشد).
سجاد از روی این اعداد، یک لیست جدید میسازد که عضو $i$ام آن، جمع اعضای گروه $i$ام باشد.
او که به شطرنج علاقه خاصی دارد به صورت یکی در میان اعضای لیست جدید را از هم کم و زیاد میکند؛ به این معنا که از عضو اول لیست جدید، عضو دوم را کم میکند و سپس عضو سوم را اضافه میکند و از این مقدار عضو چهارم را کم میکند و این روند را ادامه میدهد تا به آخر لیست جدید برسد و سپس مقدار نهایی را به عنوان ارزش لیست در نظر میگیرد.
مثال محاسبه ارزش لیست
به طور مثال اگر سجاد لیست زیر را داشته باشد و مقدار $m$ برابر با ۳ باشد:
$$[1, 2, 3, 4, 5, 6, 7, 8]$$
آنگاه لیست جدید به صورت زیر میشود:
$$[6, 15, 15]$$
بعد از آن سجاد اعداد لیست را به صورت شطرنجی جمع میکند و ارزش لیست برابر با عبارت زیر میشود:
$$6 - 15 + 15 = 6$$
بنابراین عدد نهایی سجاد برابر با ۶ میشود. همچنین اگر مقدار $m$ در این سوال برابر با یک بود ارزش نهایی برابر با عبارت زیر میشود:
$$1 - 2 + 3 - 4 + 5 - 6 + 7 - 8 = -4$$
در این سوال شما باید تابع calculator(n, m, li)
را پیادهسازی کنید که به ترتیب $n$ (تعداد اعضای لیست)، و $m$ (تعداد اعضای هر گروه) و خود لیست را ورودی بگیرد و ارزش نهایی لیست را برگرداند.
def calculator(n, m, li):
pass
نمونه ۱
>>> calculator(8, 3, [1, 2, 3, 4, 5, 6, 7, 8])
6
نمونه ۲
>>> calculator(8, 1, [1, 2, 3, 4, 5, 6, 7, 8])
-4
نکات
- میتوانید فایل اولیه این سوال را از این لینک دریافت کنید.
- تابع شما نباید مقداری را چاپ کند، بلکه باید مقادیر مورد نظر را بازگرداند.
نحوه ارسال
شما باید تابع calculator
موجود در فایل solution.py
را تکمیل و سپس این فایل را ارسال کنید.
ارسال پاسخ برای این سؤال