请求大佬指点! python作业,我写的是这样的,改了好多次,运行总是输出和原始数据一模一样的数据,

请求大佬指点! python作业,我写的是这样的,改了好多次,运行总是输出和原始数据一模一样的数据,不是质数也输出了。不知道哪里不对,求指点!

源程序

#定义是否质数
def is_prime(list1=[]):
    list2=[]
    for n in list1:
        for i in range(2,n-1):
            if n % i == 0:
                break
        else:   
            list2.append(n)
    return list2

#调用质数
lists=[56,41,70,31,83]
list3=is_prime(lists)
print('其中质素为:%d,%d,%d共计:%d个质数' %(list3[0],list3[1],list3[2],len(list3)))
print('质数和为:%d'%sum(list3))

运行结果

其中质素为:41,31,83共计:3个质数
质数和为:155