python中判断素数、循环出错问题

问题遇到的现象和发生背景

会出现循环混乱的情况,而且素数判断也不准确

问题相关代码,请勿粘贴截图

if name == 'main':
test(*a)
print('素数有:')
print(" ".join(str(i) for i in single))

运行结果及报错内容

img

img

img

我的解答思路和尝试过的方法

不知道怎么解决

我想要达到的结果

img

primenumber()函数错了,判断一个数就会打出很多个“不是素数”,silge重复放进很多n,n还不一定是素数

分二块函数做:

def isprime(n):
    if n<=1:
        return False
    for i in range(2, int(math.sqrt(n)) + 1)):
        if n%i==0:
            return False
    return True

primenumber(n):
    if isprime(n):
      sigle.append(n)