رفع خطای پایتون برای هنرجویان؛ از خواندن پیام تا پیدا کردن علت
وقتی برنامه اجرا نمیشود، تغییر تصادفی چند خط معمولاً پیدا کردن علت را دشوارتر میکند. برای هنرجوی مبتدی، مهارت مهم این است که پیام خطا را بخواند، مسئله را کوچک کند و بعد از یک تغییر، نتیجه را دوباره بسنجد. این تمرین برای شروع یادگیری پایتون است و میتواند به دانشآموزان هنرستان و دانشجویانی که برای رفع اشکال مراجعه میکنند کمک کند.
اول مشخص کنید با چه نوع مشکلی روبهرو هستید
گاهی شکل نوشتن کد درست نیست؛ مانند جاافتادن نشانهای ضروری. گاهی کد از نظر نگارشی پذیرفته میشود اما هنگام اجرا به خطا میرسد. در راهنمای رسمی خطاها و استثناهای پایتون این تفاوت توضیح داده شده است. آخرین خط پیام استثنا معمولاً نوع و توضیح مشکل را نشان میدهد؛ مسیر فایل و شماره خط نیز برای پیدا کردن محل بررسی مفید است.
یک مثال کوچک: جمع عدد و متن
کد زیر را در فایل تمرینی تازه بنویسید. این مثال مستقل است و به اطلاعات واقعی شما نیاز ندارد.
count_text = "3"
price = 20000
total = count_text + price
print(total)این کد در خط جمع، خطای TypeError میدهد؛ متغیر اول متن است و متغیر دوم عدد صحیح. قبل از اصلاح، از خودتان بپرسید هدف محاسبه چیست: جمع دو عدد یا محاسبه هزینه سه قلم؟ این سؤال تعیین میکند فقط نوع داده را تغییر دهید یا عملگر را هم اصلاح کنید.
اگر هدف محاسبه هزینه سه قلم باشد
count_text = "3"
price = 20000
count = int(count_text)
total = count * price
print(total)در این مثال نتیجه 60000 است. تبدیل متن «3» به عدد، مشکل نوع را حل میکند و ضرب، هدف محاسبه را بیان میکند. اگر فقط متن را به عدد تبدیل کنید و علامت جمع را نگه دارید، نتیجه 20003 میشود؛ برنامه اجرا میشود اما پاسخ مسئله درست نیست. پس «بیخطا اجراشدن» و «درستبودن نتیجه» را جدا بررسی کنید.
چکلیست پنجمرحلهای رفع اشکال
- پیام را کامل نگه دارید: نوع خطا، فایل و شماره خط را یادداشت کنید.
- ورودی و انتظار را بنویسید: با چه دادهای اجرا کردید و چه نتیجهای میخواستید؟
- نمونه را کوچک کنید: بخش غیرمرتبط را از کپی تمرینی کنار بگذارید، نه از نسخه اصلی پروژه.
- هر بار یک تغییر: دلیل تغییر و نتیجه آن را ثبت کنید.
- دوباره آزمایش کنید: یک ورودی معمولی دیگر را بررسی کنید تا اصلاح فقط اتفاقی نباشد.
تمرین مستقل برای اطمینان از یادگیری
در نسخه اصلاحشده، تعداد را «2» قرار دهید؛ نتیجه باید 40000 شود. سپس تعداد را «0» قرار دهید؛ نتیجه باید صفر شود. پیش از اجرا، جواب را خودتان بنویسید و با خروجی مقایسه کنید. برای ورودیهای نامعتبر، مانند متن غیرعددی، باید رفتار برنامه جداگانه طراحی شود؛ این مثال فقط ورودی عددیِ نوشتهشده به شکل متن را پوشش میدهد.
هنگام کمکگرفتن چه چیزهایی بفرستیم؟
- نام زبان و نسخه مورد استفاده، در صورت اطلاع
- صورت مسئله و خروجی مورد انتظار
- کوچکترین بخش مرتبط کد و متن کامل خطا
- ورودیای که مشکل با آن تکرار میشود
- تغییرهایی که امتحان کردهاید و نتیجه هرکدام
رمز، توکن، شماره تماس، فایل محرمانه یا اطلاعات افراد را از نمونه حذف کنید و برای تمرین از داده ساختگی استفاده کنید. فقط عکس یک خط کد، بدون پیام و زمینه، ممکن است برای تشخیص علت کافی نباشد.
رفع اشکال درسی در یاسوج یا دوره کامل؟
اگر مبحث مشخصی را خواندهاید و در یک تمرین گیر کردهاید، آموزش تکمیلی و رفع اشکال در یاسوج را با شرح مسئله مطرح کنید. اگر هنوز با متغیر، شرط، حلقه و تابع آشنا نیستید، مسیر دوره پایتون آموزینو را بررسی کنید. انتخاب نهایی به سطح و سرفصل شما بستگی دارد.
در جلسات رفع اشکال، هدف این است که خودتان روش تشخیص و حل را یاد بگیرید؛ تکلیف یا آزمون به جای هنرجو انجام نمیشود. اگر موضوع شما طراحی صفحه وب است، تمرین مقدماتی HTML و CSS نقطه شروع مرتبطی است.
