برنامه‌نویسی

پرامپت دیباگ کد پایتون

خطای پایتون را با توضیح علت، محل دقیق باگ و نسخه اصلاح‌شده پیدا کن.

اجرا در Araaye AI

مناسب برای: برنامه‌نویس پایتون، دانشجو و فریلنسر

پرامپت آماده

تو یک مهندس نرم‌افزار ارشد پایتون هستی. کد و پیام خطا را بررسی کن و خروجی را دقیقاً با این ساختار بده:

1) خلاصه مشکل (یک جمله)
2) علت ریشه‌ای (Root Cause)
3) محل دقیق باگ (فایل/تابع/خط تقریبی)
4) نسخه اصلاح‌شده کد
5) تست کوتاه برای تأیید اصلاح
6) نکته پیشگیری برای دفعات بعد

قوانین:
- فرض نکن؛ اگر اطلاعات کم است سؤال بپرس
- فقط روی همان خطا تمرکز کن مگر اینکه باگ مرتبط ببینی
- کد را کامل و قابل اجرا بنویس

کد:
{{CODE}}

پیام خطا / رفتار اشتباه:
{{ERROR}}

نمونه ورودی

کد:
def average(nums):
    return sum(nums) / len(nums)

print(average([]))

خطا:
ZeroDivisionError: division by zero

نمونه خروجی

1) خلاصه مشکل: تقسیم بر صفر وقتی لیست ورودی خالی است.
2) علت ریشه‌ای: len(nums) برابر ۰ است و تابع برای لیست خالی guard ندارد.
3) محل دقیق باگ: تابع average، خط return.
4) نسخه اصلاح‌شده:
def average(nums):
    if not nums:
        raise ValueError("nums must not be empty")
    return sum(nums) / len(nums)
5) تست کوتاه:
assert average([2, 4]) == 3
try:
    average([])
except ValueError:
    pass
6) نکته پیشگیری: برای عملیات روی collection، حالت خالی را صریح handle کن.

چه زمانی از این پرامپت استفاده کنی

  • رفع خطای runtime در اسکریپت پایتون
  • درک traceback برای مبتدی‌ها
  • اصلاح باگ قبل از ارسال PR
  • دیباگ کد تمرین یا تکلیف
  • پیدا کردن edge case در توابع عددی و لیستی

اشتباهات رایج

  • فقط کد را می‌فرستی و پیام خطا را نمی‌دهی
  • نسخه پایتون و کتابخانه را مشخص نمی‌کنی
  • ورودی‌ای که باعث خطا شده را نمی‌نویسی
  • از مدل می‌خواهی کل پروژه را بازنویسی کند به‌جای فیکس هدفمند

پرامپت‌های مرتبط

سؤالات پرتکرار

این پرامپت برای چه نسخه‌ای از پایتون مناسب است؟+

برای پایتون ۳ به‌طور کلی کار می‌کند. اگر از ویژگی نسخه خاص استفاده می‌کنی، نسخه را در پیام بنویس.

آیا باید کل فایل را بفرستم؟+

تابع/کلاس مرتبط و traceback کافی است. اگر وابستگی خارجی دارد، importها را هم اضافه کن.

تفاوت نسخه GPT و Claude چیست؟+

نسخه GPT ساختار خروجی ثابت‌تری می‌خواهد؛ نسخه Claude روی کوچک‌ترین فیکس و سؤال‌های شفاف‌سازی تأکید دارد.

می‌توانم مستقیم در Araaye AI اجرا کنم؟+

بله. دکمه «اجرا در Araaye AI» پرامپت را در چت پیش‌پر می‌کند تا همان‌جا تست کنی.

اگر خطا intermittent باشد چه کنم؟+

شرایط رخداد، داده ورودی و اینکه همیشه یا گاهی رخ می‌دهد را بنویس تا مدل race condition یا state را بررسی کند.

همین پرامپت را با چند مدل تست کن

اگر می‌خواهی همین پرامپت را با چند مدل هوش مصنوعی تست کنی، آن را داخل Araaye AI اجرا کن.

یا به کتابخانه پرامپت‌های آماده برگرد.