flag 대신 for-else 사용하기

이번 시간에는 for-else 문에 대해서 알아봅시다.


다른 언어에서는..(또는 이 기능을 모르시는 분은)

보통 사람들은 flag 변수 등을 이용해서 문제를 풉니다.

import math

if __name__ == '__main__':
    numbers = [int(input()) for _ in range(5)]
    multiplied = 1
    flag = True
    for number in numbers:
        multiplied *= number
        if math.sqrt(multiplied) == int(math.sqrt(multiplied)):
            flag = False
            print('found')
            break

    if flag:
        print('not found')
파이썬에서는

파이썬의 for-else 문을 사용하면 코드를 짧게 쓸 수 있고, 그 의미를 알아보기 쉽습니다.

import math

if __name__ == '__main__':
    numbers = [int(input()) for _ in range(5)]
    multiplied = 1
    for number in numbers:
        multiplied *= number
        if math.sqrt(multiplied) == int(math.sqrt(multiplied)):
            print('found')
            break
    else:
        print('not found')

본 강의는 장요셉님의 제안으로 만들어졌습니다. 제안을 주신 요셉님께 감사드립니다.

등록된 질문이 없습니다. 궁금한 부분이 있으면 주저하지 말고 무엇이든 물어보세요.