با داشتن یک عدد مانند n، مشخص کنید عدد اول nاُم چیست.
اگر شش عدد اول نخست را فهرست کنیم: ۲، ۳، ۵، ۷، ۱۱ و ۱۳، میبینیم که ششمین عدد اول ۱۳ است.
اگر زبان شما متدهایی در کتابخانهی استاندارد برای کار با اعداد اول دارد، فرض کنید چنین متدهایی وجود ندارند و خودتان آنها را پیادهسازی کنید.
گاهی لازم است استثنا ایجاد کنید. وقتی این کار را میکنید، باید همیشه یک پیام خطای معنادار هم بنویسید که نشان دهد منبع خطا چیست. این کار کد شما را خواناتر میکند و به اشکالزدایی کمک زیادی میکند. در موقعیتهایی که میدانید منبع خطا نوع مشخصی دارد، میتوانید یکی از انواع خطای داخلی را ایجاد کنید، اما باز هم باید پیام معناداری همراه آن بنویسید.
این تمرین خاص از شما میخواهد که با دستور raise وقتی تابع prime() ورودی نامعتبری دریافت میکند، یک ValueError «پرتاب کنید». از آنجا که این تمرین فقط با اعداد مثبت سر و کار دارد، هر عددی کمتر از ۱ نامعتبر است. تستها تنها در صورتی قبول میشوند که هم exception را raise کنید و هم پیامی همراه آن بیاورید.
برای ایجاد یک ValueError همراه با پیام، پیام را بهعنوان آرگومان به نوع exception بدهید:
# when the prime function receives malformed input
raise ValueError('there is no zeroth prime')