用python实现isNum()函数参数为整数,要有异常处理。如果整数是质数,返回True,否则返回False,给出两种方法
时间: 2024-09-24 11:18:55 浏览: 22
在Python中,你可以使用`isinstance()`函数来检查输入是否为整数,并利用数学知识来判断是否为质数。这里提供两种实现方法:
**方法一:使用try-except结构和isprime()库**
如果你打算引入第三方库如`math`或`sympy`来辅助判断质数,可以这样做:
```python
import math
def is_prime(num):
if num < 2:
return False
for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
return False
return True
def is_num(num):
try:
if isinstance(num, int) and is_prime(num):
return True
else:
raise ValueError("输入不是整数或者不是一个质数")
except ValueError as e:
print(e)
return False
# 示例
print(is_num(7)) # 输出:True
print(is_num('abc')) # 输出:ValueError: 输入不是整数或者不是一个质数
```
**方法二:不依赖外部库,自定义质数检测**
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, num):
if num % i == 0:
return False
return True
def is_num(num):
if isinstance(num, int):
if is_prime(num):
return True
else:
return False
else:
raise ValueError("输入不是整数")
# 示例
print(is_num(7)) # 输出:True
print(is_num('abc'))
阅读全文