分数 10
作者 胡锦美
单位 闽江学院
从键盘读入一组数据(以半角逗号‘,’分割)存在一个列表中,并将列表按是否是素数分解为两个列表,统计输出这两个列表。
输入格式:
以半角逗号‘,’分割读入的这组数据。
输出格式:
分四行输出(所有符号均为半角符号)
输入样例:
在这里给出一组输入。例如:
23,45,78,87,11,67,89,13,56,67,29,431,111
输出样例:
在这里给出相应的输出。例如:
素数列表8个:
[23, 11, 67, 89, 13, 67, 29, 431]
非素数列表5个:
[45, 78, 87, 56, 111]
import math
def busu(n):l=[]i=2while(i<=math.sqrt(n)):j=ij=i+jwhile(j<=n):l.append(j)j=i+ji+=1l.sort()return l
n=list(map(eval,input().split(',')))
n1=sorted(n)
b=busu(n1[-1])
l1=[]
l2=[]
for i in n:if(i in b or i<=1):l2.append(i)else:l1.append(i)
print("素数列表{}个:".format(len(l1)))
print(l1)
print("非素数列表{}个:".format(len(l2)))
print(l2)