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

خواندن traceback پایتون از پایین؛ اصلاح تبدیل فهرست عددی

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

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

در مثال، تبدیل یک رشته به int معتبره، اما خود فهرست رو نمی‌تونیم یک‌باره به int تبدیل کنیم. فعالیت همین تفاوت رو در یک تابع جمع نشان می‌ده. فرض کن پایین traceback نوشته TypeError و گفته مقدار list قابل تبدیل به int نیست. خطای رایج تبدیل فهرست به رشته و بعد تلاش دوباره برای int کردنه؛ شکل نمایش فهرست عدد معتبر نیست. باید هر عضو جدا تبدیل بشه و عددهای حاصل جمع بشن. فهرست خالی هم یک حالت واقعی است و جمعش باید صفر باشه، نه اینکه اولین عضو رو بی‌بررسی بخونیم.

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

values = ["5", "7"]
total = sum(int(item) for item in values)
assert total == 12

حالا نوبت توئه: تابع sum_texts(values) را کامل کن. ورودی فهرست رشته‌های عدد صحیح معتبر است؛ خروجی جمع عددی آن‌هاست. برای ["3", "4"] عدد 7 و برای [] عدد 0 برگردان؛ رشته منفی مثل "-2" هم معتبر است. خود فهرست را به int تبدیل نکن و چیزی چاپ نکن.

فعالیت شما

تابع sum_texts(values) را کامل کن. ورودی فهرست رشته‌های عدد صحیح معتبر است؛ خروجی جمع عددی آن‌هاست. برای ["3", "4"] عدد 7 و برای [] عدد 0 برگردان؛ رشته منفی مثل "-2" هم معتبر است. خود فهرست را به int تبدیل نکن و چیزی چاپ نکن.

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

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

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

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

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

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

def sum_texts(values):
    # تبدیل تک‌تک عضوها و جمع آن‌ها
    return 0