الأخطاء في بايثون
Look at some common errors and mistakes and how to avoid them.
سنغطي ما يلي...
من المهم إدراك أن ارتكاب الأخطاء في البرمجة، كما هو الحال في الحياة اليومية، أمر طبيعي. المهم هو التعلم من تلك الأخطاء وإصلاحها. مع أن إصلاح الأخطاء في الحياة اليومية قد يكون صعبًا، إلا أن إصلاح البرمجة أسهل بكثير ومباشر.
لننظر إلى المشكلة والرمز المُقدّم أدناه. يُظهر الرسم التوضيحي حالتي إدوارد الابتدائية والهدف.
يحاول الكود أدناه نقل إدوارد إلى الحالة النهائية. ولكن هل يمكنه فعل ذلك؟ اضغط زر "تشغيل" وشاهد النتيجة.
def turn_right():turn()def turn_around():turn()turn()def turn_left():turn()turn()turn()# Commands to complete the task.move()turn_right()move()move()turn_left()move()
كان الكود يعمل بشكل جيد، لكنه نسي إزالة سلة المهملات. مع أن الكود لم يواجه أي أخطاء، إلا أن الوظيفة التي نفّذها لم تكن كما نرغب. يُسمى هذا النوع من الأخطاء في وظيفة الكود خطأً منطقيًا .
الأخطاء المنطقية
الأخطاء المنطقية دقيقة ويصعب اكتشافها. لن يمنع الخطأ المنطقي تنفيذ الكود، ولكنه يُنتج نتائج غير متوقعة. يوضح المثال التالي حالة خطأ منطقي في كود بايثون:
def calculate_rectangle_area(length, width):area = 2*(length + width)return areaside_a = 5side_b = 8area_rect = calculate_rectangle_area(side_a, side_b)print("The area of the rectangle is: ", area_rect)
إذا قمت بالضغط على زر "تشغيل"، فلن يثير ذلك خطأ، ولكن هل تعمل الوظيفة كما هو متوقع؟
دالة calculate_rectangle_area()
المذكورة أعلاه تُطبّق صيغة خاطئة، ورغم أنها تعمل بشكل صحيح، إلا أن النتيجة غير صحيحة. الصيغة الصحيحة لمساحة المستطيل هي length * width
.