【问题标题】:How to work with break command in nested python loops?如何在嵌套的 python 循环中使用 break 命令?
【发布时间】:2013-10-23 01:04:15
【问题描述】:

我对编程完全陌生,今晚我需要一些帮助。我有一个问题需要解决,我需要在给定的数字范围内证明哥德巴赫猜想。我需要确保这个数字是偶数,找出哪些素数相加,打印出来并找出该范围内的哪个数字具有最多的对数。我的问题如下:

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

如果不满足这两个 if 条件之一,我需要使用 n 来重复 for 循环,但是 break 将我送回到 x 循环。如果这两个条件之一为假而不结束我的程序,我怎样才能让它重复?

【问题讨论】:

  • 你有什么问题?
  • 感谢您添加代码块。我以为我做得对,但显然我错了。

标签: python loops nested-loops break


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-03-12
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 2016-11-10
    • 2021-07-30
    • 2014-12-16
    相关资源
    最近更新 更多