جاري التحميل...

تتبع الخلل

قد ينتهي البرنامج حتى آخره ويبقى خاطئًا، وأنت لا تكتشف ذلك إلا حين تطبع الرقم الذي تشك فيه. عندك اثنا عشر مقعدًا، وتسعة منها يجلس عليها أصحابها، وما يجب أن يحمله الاسم free هو عدد المقاعد الشاغرة، أي ما تبقّى. البرنامج الأول يطرح بترتيب معكوس، وprint تكتب النتيجة على الشاشة. لا تُثبَّت هنا حزمة ولا يُنشأ مجلد، والبرنامج لا يتوقف؛ العيب كله في الرقم الذي يظهر.

طرح بترتيب معكوس

python
total = 12
taken = 9
free = taken - total
print(free)

ينتهي التشغيل ويبقى على الشاشة -3 وحده: عدد صحيح بعلامة ناقص ولا فاصلة عشرية فيه، كتبته print قبل أن يختم البرنامج عمله. ولا تظهر None. غير أن -3 لا يصلح عددًا للمقاعد الشاغرة، فهو تسعة ناقص اثني عشر. الاسم free يَعِد بمقاعد فارغة، بينما الحساب ينتزع مقاعد من الجالسين فعلًا. هذا السطر وحده يكشف الخلل، فلا تحتاج إلى أداة ثانية.

طرح بالترتيب المفيد

python
total = 12
taken = 9
free = total - taken
print(free)

البرنامج الثاني مستقل عن الأول. فيه الرقمان ذاتهما، وقد تغيّر الترتيب فقط، فتظهر على الشاشة 3: اثنا عشر ناقص تسعة تُبقي ثلاثة مقاعد. تكتب print العدد 3، وهو عدد صحيح بلا فاصلة عشرية. وهذا لا يمسّ البرنامج الأول؛ أعد تشغيله وستجد -3 كما كان. العلاج إذن في ترتيب الطرح داخل free، لا في حزمة جديدة ولا في مجلد جديد.

وبعد أن تكتب print العدد -3، يصل البرنامج الأول إلى نهايته: لا يتوقف بخطأ TypeError، ولا يكتب None في السطر التالي، ولا ينشئ مجلدًا اسمه total. فطرح عددين صحيحين مسموح دائمًا حتى لو نزلت النتيجة تحت الصفر، ولذلك لا يعترض شيء؛ أما الحكم على الرقم هل يعقل أم لا فعليك أنت.

الرقم الذي يكشف الخلل

كفاك print واحدة لترى أن شيئًا ما ليس في مكانه: -3 حيث كنت تنتظر ما تبقّى من المقاعد. الصفحة التالية هي شرح الدالة؛ أما هنا فرقم خاطئ فقط، ثم الرقمان ذاتهما بالترتيب المفيد.

🧠 اختبر معرفتك

جاهز للبدء

اختبر معرفتك

تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع

❓
5
الأسئلة
🎯
70%
للنجاح
♾️
∞
الوقت
🔄
∞
المحاولات

📝 التعليمات

  • اقرأ كل سؤال بعناية
  • اختر أفضل إجابة لكل سؤال
  • يمكنك إعادة الاختبار عدة مرات كما تريد
  • سيتم عرض تقدمك في الأعلى