آموزش سریع خطایابی در پایتون | تمرینهای جامع
خطای دسترسی
برای ثبت پاسخ، ابتدا باید در سایت وارد شوید.
تمرین اول: خطایابی یک برنامه حسابگر ساده
در این تمرین، یک برنامه حسابگر ساده (ماشین حساب چهار عمل اصلی) به شما داده میشود که عمداً دارای خطاهای مختلفی است. وظیفه شما این است که برنامه را اجرا کنید، خطاها را شناسایی کرده و آنها را تصحیح کنید تا برنامه به درستی کار کند.
مراحل انجام تمرین:
- کد داده شده را در ویرایشگر آنلاین خود کپی کنید. کد به صورت زیر است:
def calculator(a, b, operation):
if operation == "add":
return a + b
elif operation == "subtract":
return a - b
elif operation == "multiply":
return a * b
elif operation == "divide"
return a / b
else:
return "عملگر نامعتبر"
# بخش اصلی برنامه
num1 = input("عدد اول را وارد کنید: ")
num2 = input("عدد دوم را وارد کنید: ")
op = input("عملگر را وارد کنید (add, subtract, multiply, divide): ")
result = calculator(num1, num2, op)
print("نتیجه:", result)
-
برنامه را اجرا کنید. سه خطای مختلف در این کد وجود دارد:
- خطای نحوی: خط
elif operation == "divide"فاقد دونقطه (:) در انتهاست. - خطای منطقی: تابع
calculatorمقادیرnum1وnum2را به عنوان رشته (string) دریافت میکند، در حالی که باید آنها را به عدد (int یا float) تبدیل کند تا عملیات ریاضی انجام شود. - خطای زمان اجرا: اگر کاربر عدد صفر را به عنوان
num2و عملگرdivideرا انتخاب کند، برنامه با خطایZeroDivisionErrorمواجه میشود.
- خطای نحوی: خط
-
خطاها را یکی یکی پیدا و تصحیح کنید:
- ابتدا خطای نحوی را با اضافه کردن دونقطه در انتهای خط
elif operation == "divide"برطرف کنید. - سپس خطای منطقی را با تبدیل
num1وnum2به عدد (با دستورfloat()یاint()) در بخش اصلی برنامه حل کنید:num1 = float(input("عدد اول را وارد کنید: ")) num2 = float(input("عدد دوم را وارد کنید: ")) - در نهایت، خطای زمان اجرا را با استفاده از
try/exceptیا بررسی شرطی درون تابع مدیریت کنید. مثلاً در تابعcalculatorیک شرط اضافه کنید:if operation == "divide" and b == 0: return "تقسیم بر صفر مجاز نیست" else: return a / b
- ابتدا خطای نحوی را با اضافه کردن دونقطه در انتهای خط
-
پس از تصحیح تمام خطاها، برنامه را دوباره اجرا کنید. مطمئن شوید که:
- جمع، تفریق، ضرب و تقسیم اعداد به درستی کار میکنند.
- زمانی که کاربر عملگر نامعتبر وارد میکند، پیغام «عملگر نامعتبر» نمایش داده شود.
- زمانی که کاربر میخواهد عددی را بر صفر تقسیم کند، برنامه کرش نکند و پیغام مناسب نمایش دهد.
نکته: اگر در مرحلهای گیر کردید، از دستور print() برای نمایش مقادیر متغیرها در نقاط مختلف برنامه استفاده کنید تا متوجه شوید دادهها به چه شکلی در حال جابجایی هستند.
برای ثبت پرسش ابتدا در سایت وارد شوید.