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

ساخت نمونه حداقلی خطا در پایتون؛ دسترسی امن به آخرین عضو

خواندن خطاهای پایتون و ساخت نمونه بازتولید · 0٪

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

مثال، اولین عضو رو فقط وقتی می‌خونه که فهرست خالی نباشه. توی فعالیت همین تصمیم رو برای آخرین عضو می‌نویسی. خطای رایج امتحان‌کردن فقط ورودی‌های معمولی مثل سه عدد است؛ اون‌ها خطای مرزی فهرست خالی رو آشکار نمی‌کنن. از کوچک‌ترین حالت شروع کن و بعد یک عضو و چند عضو رو اضافه کن تا اصلاح، رفتار عادی رو خراب نکرده باشه. این تمرین فقط فهرست‌های JSON رو می‌گیره و نیاز به input یا چاپ نداره. مقدار None در خروجی یک تصمیم مشخص برای نبودن عضو است و نباید با رشته "None" جایگزین بشه.

✍️ مثال حل‌شده:

def first_or_none(items):
    if not items:
        return None
    return items[0]

assert first_or_none([]) is None

حالا نوبت توئه: تابع last_or_none(items) را بنویس: برای فهرست خالی None واقعی و برای فهرست غیرخالی آخرین عضو را برگردان. [] باید None، [8] باید 8 و [1,2,3] باید 3 بدهد. ترتیب و محتوای ورودی را تغییر نده؛ عضوها عدد یا رشته‌اند و چاپ جای return نیست.

فعالیت شما

تابع last_or_none(items) را بنویس: برای فهرست خالی None واقعی و برای فهرست غیرخالی آخرین عضو را برگردان. [] باید None، [8] باید 8 و [1,2,3] باید 3 بدهد. ترتیب و محتوای ورودی را تغییر نده؛ عضوها عدد یا رشته‌اند و چاپ جای return نیست.

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

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

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

فعالیت‌های این بخش به اشتراک فعال نیاز دارند. تهیهٔ اشتراک

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

کد اولیهٔ فعالیت

def last_or_none(items):
    # حالت خالی و غیرخالی را جدا کن
    pass