题目:
首先,使用列表推导式和标准库random生成一个包含50个介于1~100的随机整数的列表,然后编写函数def isPrime(n)用来测试整数n是否为素数,接下来使用内置函数filter()把函数isPrime()作用到包含若干个随机整数的列表lst上,最后程序输出一个列表,其中只包含列表lst中不是素数的那些整数。
Code:
from random import randint
def isPrime(n):
if n in (2,3):
return True
if n%2 == 0:
return False
for i in range(3,int(n**0.5)+1,2):
if n%i == 0:
return False
return True
lst = [randint(1,100) for _ in range(50)]
print(lst)
print(list(filter(lambda n:isPrime(n) is False,lst)))