给定10个数写一个函数是否为素数计算素数之和非素数之和以及两值的差
时间: 2024-11-13 22:39:48 浏览: 14
为了编写这样一个函数,我们可以采用以下步骤:
首先,我们需要定义一个辅助函数来检查一个数是否为素数。素数是指只有1和其本身两个正因数的自然数。这个函数会接受一个整数作为输入,返回如果它是素数则返回True,否则False。
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1): # 避免不必要的大数运算
if n % i == 0:
return False
return True
```
接下来,我们可以编写主函数,它接受一个列表作为输入,遍历列表,对每个数字进行素数判断,并计算素数之和、非素数之和以及两者之间的差。
```python
def prime_sum_and_difference(numbers):
prime_sum = 0
non_prime_sum = 0
for num in numbers:
if is_prime(num):
prime_sum += num
else:
non_prime_sum += num
difference = prime_sum - non_prime_sum
return prime_sum, non_prime_sum, difference
```
你可以像下面这样调用这个函数并传递一个包含10个数的列表:
```python
numbers_list = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
prime_result = prime_sum_and_difference(numbers_list)
print(f"素数之和: {prime_result[0]}, 非素数之和: {prime_result[1]}, 差异: {prime_result[2]}")
```
阅读全文