python素数问题函数

(1)实现isPrime()函数,参数为整数。如果是素数,返回True,否则返回False。

(2)在(1)的基础上,编写一个函数listPrime(),该函数可以接受任意个数数据,返回其中所有的素数。调用函数,从键盘输入任意个数的数据,从中筛选出所有素数,并计算其平方和。要求使用匿名函数求平方。

(3)在(1)的基础上,编写一个函数printPrime(),参数为整数。打印传入整数以内的素数,以空格分隔,10个一行。调用函数,打印200以内的素数。
测试输入:
请输入任意个数整数(以空格分隔):1 2 3 4 5 6 7 8 9

预期输出:
你输入的数据中所有素数的平方和为:87
200以内的素数有:
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97 101 103 107 109 113
127 131 137 139 149 151 157 163 167 173
179 181 191 193 197 199

def isPrime(n):
    if (n<2):
        return False
    for i in range(2, n//2 + 1):
        if (n%i == 0):
            return False
    return True;


def listPrime(l):
    a = []
    for n in l:
        if isPrime(n):
            a.append(n)
    return a

def printPrime(n):
    a = listPrime(range(n))
    count = 0
    for i in a:
        print(i, end=' ')
        count+=1;
        if (count % 10 == 0):
            print('\n')

img


仅仅提供思路,具体问题具体分析,自己动手,听懂掌声