2013-10-23 2 views
0

저는 프로그래밍에 완전히 익숙하지 않아 오늘 밤 도움이 필요합니다. 주어진 범위의 숫자에 대한 goldbach의 추측을 증명할 필요가있는 부분을 해결해야하는 문제가 있습니다. 숫자가 짝수인지 확인하고, 소수에 어떤 것이 더해 졌는지 알아 내고, 인쇄하여 범위 내에서 가장 많은 수의 쌍이 있는지 확인해야합니다. 내 문제는 우는 소리입니다 :중첩 된 파이썬 루프에서 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 

내가 조건이 충족되지 않을 경우 두 중 하나지만, 휴식은 x 루프까지 날 다시 보내는 경우 반복은 n으로 for 루프를 얻을 필요가있다. 프로그램을 끝내지 않고 두 조건 중 하나가 거짓이라면 어떻게 반복 할 수 있습니까?

+0

어디에서? –

+0

당신의 문제는 무엇입니까? – justhalf

+0

코드 블록을 추가해 주셔서 감사합니다. 내가 제대로했다고 생각했지만 분명히 틀렸어. –

답변

1

break 대신 continue을 사용하려는 것 같습니다. break을으로 바꾸고 내부 for 루프를 사용하면 소수가 False 또는 prime1+prime2 != i 일 때 내부 for 루프가 다시 시작됩니다.

관련 문제