2016-07-29 3 views
0

Много раз случалось со мной, что я кодировал 3 или 4 вложенных цикла, проблема в том, что с оператором break я мог только пропустить один из циклов, и остальные из них продолжат действовать ...Как сломать все вложенные циклы? (Python)

Есть ли все-таки сломать все вложенные петли?

например:

a = 3 
b = 4 
c = 5 
while a <= 333: 
    b = a + 1 
    while b <= 500: 
     c = 1000 - a - b 
     while c < 500: 
      if c**2 == (a**2) + (b**2) and a + b + c = 1000: 
       print("this is the first number : ", a) 
       print("this is the second number : " ,b) 
       print("and this is the third number : " ,c) 
       break 
      else : 
       c +=1 
     b +=1 
    a +=1 
    print(a) 

Это код, который я написал для Project Euler № 9!

https://projecteuler.net/problem=9

при условии, если заявление удовлетворяется ... как я могу остановить тех, в то время как петли от бега?

+0

Вы можете попробовать добавить логическую переменную ко всем циклам while и установить ее в false, когда вам нужно –

ответ

3

попробуйте создать функцию и используйте инструкцию return.

0

Невозможно вырваться из вложенных циклов с одним оператором break в python.

Смежные вопросы