본문 바로가기
프로그램

[파이썬] 문제 : 다중 반복문에서 break로 모두 종료하기

by 오디세이99 2022. 12. 20.
728x90
반응형

합 0이 찾아졌을때 반복문이 종료되어야 하는데, 모든 반복문을 실행하기 때문입니다.

true_flag = False

와 같이 합 0 일때 이 변수를 True 해서 모든 단계의 for 반복문이 종료되도록 합니다.

import random

list = []
for _ in range(20):
    x = random.randint(-100,100) 
    list.append(x)

print(list)

true_flag = False                        # 합 0 일때 모든 반복 종료를 위한 Bool 변수
for i in range(len(list)):
    for j in range(i+1,len(list)):
        for k in range(j+1,len(list)):
            s = list[i] + list[j] + list[k]
            if s == 0:
                result = 0
                true_flag = True         # 합 0 을 찾았을때 반복문 종료
                break
            else: 
                result = -1
        if true_flag == True:
            break
    if true_flag == True:
        break
    

print("{}".format(result))

결과

[66, 31, -68, -43, 69, -80, 12, 56, -80, -69, -59, -19, 99, 56, 32, 80, -70, 93, 41, 7]
0
728x90
반응형

댓글