بمعرفة العدد n، حدّد ما هو العدد الأولي رقم n.
بسرد الأعداد الأولية الستة الأولى: 2، 3، 5، 7، 11، و13، نرى أن العدد الأولي السادس هو 13.
إذا كانت لغة البرمجة التي تستخدمها توفر طرقًا في مكتبتها القياسية للتعامل مع الأعداد الأولية، فتظاهر بأنها غير موجودة ونفّذها بنفسك.
أحيانًا تحتاج إلى رفع استثناء. وعندما تفعل ذلك، يجب أن تُضمّن دائمًا رسالة خطأ ذات معنى تشير إلى مصدر الخطأ. فهذا يجعل الكود أكثر قابلية للقراءة ويساعد كثيرًا في تصحيح الأخطاء. وإذا كنت تعرف أن مصدر الخطأ سيكون من نوع معيّن، فيمكنك اختيار رفع أحد أنواع الأخطاء المدمجة، لكن يجب مع ذلك أن تُضمّن رسالة ذات معنى.
يتطلب هذا التمرين تحديدًا أن تستخدم جملة raise لكي «ترمي» استثناء ValueError عندما تتلقى الدالة prime() مدخلات غير صالحة. ولأن هذا التمرين يتعامل مع الأعداد الموجبة فقط، فأي عدد أصغر من 1 يُعد غير صالح. لن تنجح الاختبارات إلا إذا استخدمت raise ورفعت exception وأضفت معه رسالة.
ولرفع ValueError مع رسالة، اكتب الرسالة كوسيط لنوع exception:
# when the prime function receives malformed input
raise ValueError('there is no zeroth prime')
سجّل في Exercism لتتعلّم وتتقن Python عبر 17 مفهومًا146 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.