🔤 مبانی زبان

رفع خطا: پیام‌های قرمز را بخوان

۳ گام

خطا دشمن نیست، راهنماست

هر برنامه‌نویسی هر روز خطا می‌گیرد؛ تفاوتِ مبتدی و حرفه‌ای این است که حرفه‌ای پیام خطا را می‌خواند. سه نوع خطای رایج:

  1. خطای نحوی (SyntaxError): پایتون اصلاً نتوانسته جملهٔ تو را بفهمد (نقل‌قول یا پرانتز بسته‌نشده، دونقطهٔ جاافتاده). برنامه اصلاً شروع نمی‌شود.
  2. خطای زمان اجرا مثل NameError (اسمی که نمی‌شناسد) یا TypeError (نوع داده‌ها با هم جور نیستند). برنامه شروع می‌شود و در یک خط می‌ایستد.
  3. خطای منطقی: برنامه اجرا می‌شود ولی جواب غلط می‌دهد؛ هیچ پیامی نمی‌آید و سخت‌ترین نوع است.

چطور پیام خطا را بخوانیم؟ آخرین خط مهم‌ترین است (نوع خطا و توضیحش) و کنارش شمارهٔ خط مشکل‌دار آمده:

Traceback (most recent call last):
  File "<exec>", line 4, in <module>
NameError: name 'Price' is not defined

یعنی «در خط ۴، اسم Price را نمی‌شناسم». کافی است به خط ۴ نگاه کنی. درس خطاها را هم ببین.

در این تمرین یک برنامهٔ خراب داری. خطاها را یکی‌یکی رفع کن؛ بعد از هر رفع، پایتون خطای بعدی را نشانت می‌دهد. این دقیقاً روندِ واقعی کارِ برنامه‌نویس‌هاست.

  1. ۱گام ۱

    این برنامه سه خطا دارد و همین حالا اجرا نمی‌شود. اول دکمهٔ «▶ اجرا» را بزن و پیام خطا را بخوان؛ زیرش توضیح فارسی هم می‌آید.

    حالا اولین خطا را رفع کن (خطای نحوی). بعد از رفعش پایتون به خطای بعدی می‌رسد؛ این کاملاً عادی است! بعد «بررسی گام» را بزن.

  2. ۲گام ۲

    حالا به NameError رسیدی: پایتون اسمی را نمی‌شناسد. در پایتون حرف بزرگ و کوچک فرق دارد، پس Price با price یکی نیست.

    آن را رفع کن. بعد از رفع، باید خط دوم خروجی 120 شود و پایتون به خطای بعدی می‌رسد.

  3. ۳گام ۳

    آخرین خطا از نوع TypeError است: نمی‌شود متن "Total: " را با یک عدد به‌وسیلهٔ + جمع کرد.

    عدد را با str(...) به متن تبدیل کن (یا از f-string استفاده کن). خروجی نهایی باید سه خط باشد و خط آخر Total: 120.

در حال آماده‌سازی ویرایشگر…