编写函数isPrime(n)来判断一个正整数n是否是素数,如果是返回True,不是则返回False。输入一个列表,将列表ls中的素数去除,并输出去除素数后列表ls
时间: 2023-12-03 09:45:52 浏览: 316
下面是代码实现:
```python
def isPrime(n):
if n < 2:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
def removePrimes(ls):
new_ls = []
for item in ls:
if not isPrime(item):
new_ls.append(item)
return new_ls
# 测试
ls = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_ls = removePrimes(ls)
print(new_ls)
```
输出结果:
```
[1, 4, 6, 8, 9, 10]
```
解释:原列表中的素数2、3、5、7已被去除。
相关问题
编写函数isprime(n)来判断一个正整数n是否是素数,如果是返回true,不是则返回false。输入一个列表,将列表ls中的素数去除,并输出去除素数后列表ls
def isprime(n):
if n <= 1:
return False
for i in range(2, int(n**.5)+1):
if n % i == :
return False
return True
def remove_primes(ls):
new_ls = []
for num in ls:
if not isprime(num):
new_ls.append(num)
return new_ls
ls = [2, 3, 4, 5, 6, 7, 8, 9, 10]
new_ls = remove_primes(ls)
print(new_ls) # [4, 6, 8, 9, 10]
问题描述】编写函数isPrime(n)来判断一个正整数n是否是素数,如果是返回True,不是则返回False。输入一个列表,将列表ls中的素数去除,并输出去除素数后列表ls
实现思路:
1. 编写函数isPrime(n)来判断一个正整数n是否是素数,如果是返回True,不是则返回False。
2. 遍历列表ls,判断每个元素是否为素数,若是则从列表中删除该元素。
3. 返回去除素数后的列表ls。
代码实现如下:
```python
def isPrime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def removePrimes(ls):
i = 0
while i < len(ls):
if isPrime(ls[i]):
ls.pop(i)
else:
i += 1
return ls
# 测试代码
ls = [2, 5, 7, 11, 13, 15, 17, 19, 20, 23, 29, 31]
print(removePrimes(ls)) # [15, 20]
```
运行结果:
```
[15, 20]
```
注意:在遍历列表时,不能直接使用for循环,因为在删除元素时会导致索引出现错误。这里使用while循环来实现。
阅读全文