給定一個數字 n,求出第 n 個質數是多少。
列出前六個質數:2、3、5、7、11 和 13,我們可以看出第 6 個質數是 13。
如果你的程式語言在標準函式庫中提供了處理質數的方法,請假裝它們不存在,自己動手實作。
有時你需要引發例外。這麼做的時候,一定要附上有意義的錯誤訊息,說明錯誤的來源是什麼。這會讓你的程式碼更好讀,對除錯也有很大的幫助。如果你知道錯誤來源一定會是某種型別,可以選擇引發其中一種內建錯誤類型,但還是要附上有意義的訊息。
這個練習要求你在 prime()函式收到格式錯誤的輸入時,使用 raise 敘述來「抛出」ValueError。由於這個練習只處理_正數_,任何小於 1 的數字都是格式錯誤的。只有在你同時 raise 了 exception 並附上訊息時,測試才會通過。
要用訊息引發 ValueError,請把訊息寫成 exception 型別的引數:
# when the prime function receives malformed input
raise ValueError('there is no zeroth prime')