我是编程新手,我今晚需要一些帮助。我有一个问题需要解决,我需要证明戈德巴赫对一系列数字的推测。我需要确保数字是偶数,找出素数加起来,打印出来并找出范围内哪个数量最多的数量。我的问题如下:
for i in range (lower, upper + 1 ):
if ( pairs > max_pairs):
max_pairs = pairs
# Check if Number is Even
if ( i % 2 == 0 ):
prime1 = 0
prime2 = 0
pairs = 0
print ( i, "=")
# Find Prime Numbers less than the Current Even Number
for x in range ( 2 , ( i - 1 ) ):
prime = is_prime ( x )
if ( prime == False ):
break
prime1 = x
for n in range ( 2, ( i - 1 ) ):
prime = is_prime (n)
if ( prime == False ):
break
prime2 = n
if ( ( prime1 + prime2) == i ):
prime_sum = True
else:
break
if ( prime1 >= prime2 ):
prime3 = prime1
prime1 = prime2
prime2 = prime3
if ( prime_sum == True ):
print ( prime1, "+", prime2 )
pairs += 1
如果不满足这两个条件中的一条,我需要得到带有n的for循环重复,但是break会将我发送回x循环。如果在不结束我的程序的情况下,如果其中一个条件为假,我怎么能重复呢?
答案 0 :(得分:1)
您可能希望使用continue
代替break
。如果在内部for循环中将break
替换为continue
,那么当prime为False
或prime1+prime2 != i
时,内部for循环将重新启动。