用Python编写一个程序,实现isPrime(),参数为整数,要有异常处理,如果整数是质数,返回True,否则返回False。
时间: 2024-11-09 08:17:46 浏览: 23
Python编程判断一个正整数是否为素数的方法
5星 · 资源好评率100%
当然,我可以帮你编写这样一个isPrime()函数,它会检查输入的整数是否为质数,同时包含异常处理。质数是指只有1和其本身两个正因数的自然数。下面是代码:
```python
def isPrime(num):
try:
# 验证输入是否为整数
if not isinstance(num, int) or num < 2:
raise ValueError("输入必须是大于1的整数")
# 判断是否为质数
for i in range(2, int(num**0.5) + 1): # 只需检查到num的平方根即可
if num % i == 0:
return False
return True
except ValueError as ve:
print(f"错误:{ve}")
return False
except Exception as e:
print(f"出现意外错误:{e}")
return False
# 测试函数
print(isPrime(7)) # 输出:True
print(isPrime(10)) # 输出:False
print(isPrime(-3)) # 输出:错误:输入必须是大于1的整数
```
这个函数首先检查输入是否为非负整数,如果不是则抛出ValueError异常。接着,使用常见的优化算法,只需要检查到数字的平方根就能确定是否为质数。如果有因子存在,则返回False;如果没有,返回True。
阅读全文