用pyuthon写一个函数,首先判断是否是质数,反馈结果。如果是质数,打印结果的同时打印出该质数的阶乘结果。用一个函数实现
时间: 2024-09-24 14:13:46 浏览: 31
你可以编写一个名为`is_prime_and_factorial`的函数,它首先检查输入的数字是否为质数,然后如果它是质数,则计算并返回其阶乘。以下是这个函数的示例实现:
```python
def is_prime_and_factorial(n):
"""
判断一个数字n是否为质数,并计算其阶乘。
参数:
n (int): 待判断的数字
返回:
tuple: 如果n是质数,返回(True, n!);否则返回(False, None)
"""
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
if not isinstance(n, int) or n < 2:
return False, None
prime = is_prime(n)
if prime:
factorial = 1
for i in range(1, n + 1):
factorial *= i
return prime, factorial
else:
return prime, None
# 示例
for i in range(100, 201):
result = is_prime_and_factorial(i)
if result[0]:
print(f"{i} 是质数,其阶乘为: {result[1]}")
```
在这个函数中,我们首先定义了一个嵌套函数`is_prime`来判断质数。接着,在主函数`is_prime_and_factorial`中,我们检查输入的n是否为整数且大于1,然后调用`is_prime`函数。如果n是质数,我们就计算它的阶乘并返回结果;如果不是质数,则直接返回False和None。
阅读全文