他说我的循环结束不了,为什么,该如何修改?

def sui(n):
if n<2:
return False
for i in range(2,int(n**0.5)+1):
if n%i==0:
return False
else:
return True

n=eval(input())
if n%2==0 :
for a in (1,1000000000):
for b in (1,2000000000):
if sui(a) and sui(b) and a+b==n :
print(n = a + b)
break
else:
print('Data error!')

img

img

你的代码逻辑有问题,帮你改了一下,下面的应该可以满足你的需求。麻烦点一下采纳。

def sui(n):
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    else:
        return True


n = eval(input("Enter a number: "))
state = False
if n % 2 == 0:
    for p in range(1, int(n / 2)):
        for q in range(int(n / 2), n):
            if sui(p) and sui(q) and (p + q == n):
                print(f"{n}={p}+{q}")
                state = True
                break
        if state: break

else:
    print('Data error!')

img

for a in (1,1000000000):
for b in (1,2000000000):
你这是啥意思。。。