给定一个数字 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')