Python; -1을 입력받을 때 까지 계속 input()받기

    종종 문제를 풀다보면 -1을 입력 받을때 까지 계속 입력받는 경우가 있음

    이럴때 어떻게 간결하게 입력받을지 고민을 하다가 작성함

     

    배열에 -1을 입력받기 전까지 입력받은 값을 추가하는 코드를 작성해보겠음

    1. 이터레이터를 사용한 방법

    짧으면서도 보기 편함

    n = []
    for i in iter(input, '-1'):
        n.append(int(i))

     

    이 코드를 더 짧게 한 줄로 나타내면

    n = list(map(int, iter(input, '-1')))

     

    또 비슷하게 응용해서 아래와 같이 한 줄로 나타낼 수 있음

    n = [int(x) for x in iter(input, '-1')]

     

     

     

    2. while을 사용한 방법

    가장 일반적으로 사용하는 방법임

    n=[]
    while True:
        n=int(input())
        if(n==-1): break
        else: num.append(n)

     

    3. walrus 연산자 + while을 사용한 방법

    while을 사용한 방법과 거의 같은데, 이 방법은 조건식에서 walrus 연산자를 사용해서 더 간결해짐

    n = []
    while (x := int(input())) != -1:
        n.append(x)

    댓글