如何在嵌套的python循环中使用break命令?

时间:2013-10-23 01:04:15

标签: python loops nested-loops break

我是编程新手,我今晚需要一些帮助。我有一个问题需要解决,我需要证明戈德巴赫对一系列数字的推测。我需要确保数字是偶数,找出素数加起来,打印出来并找出范围内哪个数量最多的数量。我的问题如下:

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循环。如果在不结束我的程序的情况下,如果其中一个条件为假,我怎么能重复呢?

1 个答案:

答案 0 :(得分:1)

您可能希望使用continue代替break。如果在内部for循环中将break替换为continue,那么当prime为Falseprime1+prime2 != i时,内部for循环将重新启动。