حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
آموزش الگوریتم و حل مسئله با پایتون؛ تمرین عملی

اولین پنجره ثابت پایتون؛ پیش‌بینی برش و جمع

پنجره لغزان در پایتون؛ جمع بازه ثابت و مقدارهای منفی · 0٪

✍️ پیش از لغزاندن پنجره، باید وضعیت اولین پنجره را درست بسازیم. برش nums[:k] از خانه صفر شروع می‌شود و خانه k را شامل نمی‌شود؛ بنابراین دقیقاً k عضو اول را می‌دهد. اگر k سه باشد، آخرین خانه داخل برش دو است. فرق شماره خانه و تعداد عضو اینجا دوباره خودش را نشان می‌دهد.

مثلاً اولین پنجره دو‌تایی در [8, -3, 6] برابر [8,-3] و جمع آن پنج است. حالا خروجی این کد را انتخاب کن:

nums = [4, -2, 7, 1]
k = 3
current = sum(nums[:k])
print(current)

عدد منفی هم یک عضو کامل پنجره است و از جمع کم می‌کند؛ قرار نیست آن را حذف کنیم تا جواب بزرگ‌تر شود. هدف فعلی فقط جمع اولین پنجره است، نه بهترین پنجره همه فهرست. در گام‌های بعد جابه‌جایی و انتخاب بیشینه را اضافه می‌کنیم.

خطای رایج، استفاده از nums[:k+1] برای گرفتن k عضو است که یک عضو اضافه می‌آورد. اشتباه دیگر اینه که از صفر تا خود k را به شکل بازه بسته تصور کنیم، در حالی که پایان برش در پایتون بیرون نتیجه قرار دارد. برای پاسخ، ابتدا سه عضو داخل برش را جدا بنویس و بعد جمع کن.

فعالیت شما

جمع nums[:3] را برای [4,-2,7,1] انتخاب کن؛ فقط سه عضو اول در پنجره هستند و عدد منفی حذف نمی‌شود.

مطالعهٔ این گام برای همه آزاد است

برای پاسخ‌دادن، بررسی پاسخ، ثبت پیشرفت و استفاده از دستیار باید شرایط شرکت در فعالیت‌ها را داشته باشید.

برای انجام فعالیت وارد شوید

برای انجام فعالیت‌ها ابتدا این دوره‌های پیش‌نیاز را تکمیل کنید:

گزینه‌های پیش‌بینی خروجی

  1. 9
  2. 10
  3. 2