编写函数,使用return语句,以及lambda表达式,判断一个整数是否为素数,测试该函数。
时间: 2023-06-17 07:03:42 浏览: 97
可以使用以下代码实现:
```python
# 判断是否为素数
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
# 使用lambda表达式判断是否为素数
is_prime_lambda = lambda num: False if num < 2 else all(num % i != 0 for i in range(2, int(num ** 0.5) + 1))
# 测试函数
print(is_prime(17)) # True
print(is_prime(20)) # False
print(is_prime_lambda(17)) # True
print(is_prime_lambda(20)) # False
```
其中,`is_prime`函数使用return语句判断一个整数是否为素数。首先,如果一个数小于2,那么它不是素数,直接返回False;接着,对于大于等于2的数,从2开始到该数的平方根,逐一判断是否能整除,如果存在可以整除的数,那么该数不是素数,返回False;否则,该数是素数,返回True。
`is_prime_lambda`使用lambda表达式实现同样的功能,首先判断是否小于2,如果小于2,则返回False;接着使用all()函数和生成器表达式判断是否存在能整除的数,如果没有,返回True,否则返回False。
最后测试这两个函数,分别输出17和20是否为素数的判断结果。
阅读全文