البرمجة

تصحيح أخطاء Python النحوية

الخطأ الذي يظهر في هذا الكود هو “SyntaxError: multiple statements found while compiling a single statement”، وينتج هذا الخطأ عن وجود عدة تعليمات في سطر واحد أو تركيبة غير صحيحة من التعليمات في الكود.

لنحل هذا الخطأ، يجب علينا مراجعة الكود وتحديد الأخطاء في التركيبة السابقة. في السطر الأخير، يبدو أن هناك بعض الأخطاء النحوية والتي يمكن تصحيحها كما يلي:

python
while True: # استخدمت بدل من while(True) x = input("num=") if x == "exit": # أضفت النقطتين (:) بعد الشرط sys.exit() print(prime(int(x))) # أزلت الأقواس الزائدة وأضفت مسافة بعد الدالة print

وبعد تصحيح الأخطاء، يبدو الكود النهائي بهذا الشكل:

python
import sys def prime(n): i = 2 isp = True while i < n: if n % i == 0: isp = False break n /= i i += 1 if n == 1: isp = False return isp while True: x = input("num=") if x == "exit": sys.exit() print(prime(int(x)))

بهذا التعديل، يجب أن يعمل الكود بدون أي أخطاء، وسيقوم بطباعة نتائج الدالة prime للأعداد التي يتم إدخالها عبر مدخل الإدخال (input)، وفي حالة إدخال “exit” سيتم الخروج من البرنامج.

المزيد من المعلومات

عند تحليل الكود المُقدم، يتضح أن الخطأ الرئيسي يتمثل في التركيبة النحوية لبعض الجمل وعدم استخدام بعض الرموز والكلمات الرئيسية بالشكل الصحيح في لغة Python.

أحد الأخطاء الشائعة في الكود هو استخدام “while(True)” بدلاً من “while True”. على الرغم من أن الشكل الأول يمكن أن يعمل في بعض اللغات، إلا أنه ليس صحيحًا في Python. يفضل استخدام الشكل الثاني حيث أن “True” هو قيمة معرفة مسبقًا في Python.

كما أن الرموز المفقودة مثل نقطتين “:” في بعض الجمل مثل “if” و “while” تسبب الخطأ الذي تم الإبلاغ عنه.

بعد تصحيح هذه الأخطاء، يجب أن يعمل الكود بشكل صحيح ويتيح للمستخدم إدخال الأعداد لفحص ما إذا كانت أولية أو للخروج من البرنامج بإدخال كلمة “exit”.

هذا التعديل يوضح الأهمية الكبيرة للانتباه للتركيب النحوي الصحيح عند كتابة الكود، حيث أن أخطاء بسيطة في التركيب يمكن أن تؤدي إلى وقوع أخطاء في تشغيل البرنامج وصعوبة تحديدها.

بالتالي، يُظهر هذا المثال أهمية التركيز على التفاصيل الصغيرة أثناء تطوير البرمجيات، وأن الانتباه إلى النحو الصحيح واستخدام الرموز والكلمات الرئيسية بالطريقة الصحيحة يمكن أن يوفر الكثير من الوقت والجهد في تصحيح الأخطاء وتحسين أداء البرنامج.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!