【问题描述】编写两个函数,将n个正整数中的素数按升序排序。函数功能分别是:判断
时间: 2023-12-05 09:02:21 浏览: 149
【问题描述】编写两个函数,将n个正整数中的素数按升序排序。函数功能分别是:判断一个数是否为素数和对n个数进行排序。
1. 判断一个数是否为素数:
```python
def isPrime(num):
if num < 2: # 0和1不是素数
return False
for i in range(2, int(num/2)+1):
if num % i == 0:
return False
return True
```
函数isPrime接受一个整数参数num,使用循环从2到num的一半检测是否能被整除。如果能整除,则说明该数不是素数,返回False;如果都不能整除,则说明该数是素数,返回True。
2. 对n个数进行排序:
```python
def sortPrimeNumbers(numbers):
primeNumbers = [x for x in numbers if isPrime(x)]
primeNumbers.sort()
return primeNumbers
```
函数sortPrimeNumbers接受一个列表参数numbers,利用列表推导式筛选出其中的素数,然后对素数列表进行升序排序,最后返回排序后的素数列表。首先调用isPrime函数判断列表中的每个数是否为素数,将素数筛选出来。然后使用sort()函数对素数列表进行排序,最后返回排序后的素数列表。
以上是按照题目要求编写的两个函数,一个用于判断是否为素数的函数isPrime,一个用于对n个数排序的函数sortPrimeNumbers。
阅读全文