الأخطاء
بعض الأسطر لا تصل إلى آخرها. يتوقف البرنامج عند ذلك السطر ويعطي التوقف اسمًا. 8 / 2 يصل إلى آخره: شخصان يقتسمان 8، ونصيب كل واحد أربعة. 1 / 0 لا يصل: لا يوجد أحد تُسلّمه ذلك الواحد. اسم هذا التوقف ZeroDivisionError.
print(8 / 2)
print(1 / 0)
print("rice")
على الشاشة 4.0 ثم يتوقف البرنامج. 4.0 هي أربعة مكتوبة بنقطة عشرية، لأن هذه القسمة تكتب العدد هكذا. rice لا يُكتب. السطر الذي بعد التوقف لا يعمل.
اقرأ الاسم في آخر الرسالة. ZeroDivisionError يعني أن هذا السطر قسَم على صفر. المشكلة المختلفة تأخذ اسمًا مختلفًا. الاسم هو الذي يفرّق بين المشاكل.
print(tea) يتوقف إذا لم يُعطَ الاسم tea قيمة من قبل. اسم ذلك التوقف NameError. print("tea") سطر آخر: علامات التنصيص تصنع نصًا، وذلك النص يُكتب. من دونها يبحث Python عن اسم.
Python لا يخترع قيمة ويتابع. لا يكتب None ثم يصل الدور إلى rice. التوقف هو نهاية هذا البرنامج.
📊 أي توقف، أو لا توقف
| السطر | ماذا يحدث |
|---|---|
| 1 / 0 | يتوقف البرنامج، والاسم ZeroDivisionError |
| print(tea) و tea لم يُعطَ قيمة | يتوقف البرنامج، والاسم NameError |
| 8 / 2 | يُكتب 4.0، والبرنامج لا يتوقف |
| print("rice") بعد 1 / 0 | ذلك السطر لا يعمل |
القسمة نفسها مسموحة. 8 / 2 يكتب 4.0 ولا يتوقف. الصفر على يمين خط القسمة هو الذي يوقف السطر الثاني.
الصفحة التالية تلتقط التوقف حتى تعمل الأسطر التي بعده. هذه الصفحة تقرأ اسم التوقف فقط.
ماذا يُسمّى هذا التوقف
- ماذا يُكتب قبل أن يتوقف البرنامج؟
- ما اسم التوقف عند 1 / 0؟
- ماذا يحدث لـ print("rice")؟
- إذا كتبت print(tea) ولم يُعطَ tea قيمة، ما اسم التوقف؟
- ماذا يفعل 8 / 2؟
اسمان، ومشكلتان
الشاشة تُظهر 4.0 ثم يتوقف البرنامج. rice لا يُكتب. 1 / 0 اسمه ZeroDivisionError. الاسم الذي لم يُعطَ قيمة هو NameError. 8 / 2 لا يتوقف. الصفحة التالية تلتقط التوقف حتى تعمل الأسطر اللاحقة.
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى