ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 반복문 while문, for문, list comprehension
    데이터분석/Python 2023. 3. 27. 21:52

    저번 포스팅에서는 조건문에 대해 공부했는데요,

    이번엔 반복문에 대해 알아보겠습니다.

     

    while 문

    반복문은 크게 두 가지로 구분할 수 있는데, 그 중 하나가 while 문입니다.

    while 문은 조건이 True일 때 그 블록 안에 해당하는 코드를 반복적으로 수행할 때 사용합니다.

     

    while 문의 기본 구조는 다음과 같습니다.

    while <조건문>:
        <수행할 문장 1>
        <수행할 문장 2>
        ...

    예제를 보겠습니다.

    while 문의 예시로 많이 쓰이는 게 '10번 찍어 안 넘어가는 나무 없다' 속담을 코드로 구현하는 건데요.

    다음과 같이 적을 수 있습니다.

    hit이 10번 될 때까지 계속 찍다가 10번을 찍으니 넘어가는 것을 의미합니다.

     

    while 문은 조건이 True일 때 while 문 안의 코드들을 무한 반복하기 때문에

    강제로 while 문에서 빠져나가는 방법도 알아야 합니다.

    예를 들어, 지갑에 있는 돈을 다 쓰면 더 이상 구매할 수 없는 것처럼

    구매를 멈추게 하는 코드가 break 문입니다.

     

    커피 자판기 예제를 들어보겠습니다.

    현재 커피가 자판기에 5개 있고 커피 한 잔에 500원이라고 합시다.

    input을 통해 사용자에게 금액을 입력받고 커피가 다 떨어지면 반복문을 종료하겠습니다.

    500원이면 커피를 한 잔 주고,

    500원보다 적게 받으면 실패를 출력하고,

    500원보다 많이 받으면 커피를 한 잔 주고 거스름돈을 돌려주는 코드를 짜보겠습니다.

    이렇게 남은 커피가 0개가 되면 반복문을 빠져나올 수 있게 해주는 게 바로 break 문입니다.

     

    반복문에서 특정 조건은 건너뛰고 다음 루프로 넘어가고 싶을 때는 continue 문을 쓸 수 있습니다.

    예를 들어, while 문으로 1부터 10 사이의 홀수만 출력할 땐 다음과 같이 작성합니다.

     

    for 문

    for 문은 파이썬에서 가장 많이 쓰이는 반복문입니다.

    while 문과 다르게 리스트, 튜플, 문자열의 시작부터 끝까지가 변수에 대입되어

    코드가 반복된다고 볼 수 있습니다.

     

    for문의 기본 구조는 다음과 같습니다.

    for 변수 in 리스트(또는 튜플, 문자열):
        수행할 문장 1
        수행할 문장 2
        ...

    for 문을 배울 때 가장 대표적으로 사용하는 예시가 구구단입니다.

    간단하게 2단만 살펴볼까요?

    위 예시는 for 문으로 만들 수 있는 구구단 2단을 3가지 방법으로 표현해본 것입니다.

    첫 번째는 f-string, 두 번째는 형 변환, 세 번째는 포맷팅을 이용한 코드입니다.

     

    그렇다면 구구단을 전체를 나타내려면 어떻게 해야 할까요?

    위 코드와 같이 이중 for 문을 이용해서 나타낼 수 있습니다.

    i가 2일 때 j가 1부터 9까지 들어가고,

    끝나면 i가 3이 되는 식으로 루프가 돌아가는 것을 보실 수 있습니다.

     

    for 문 안에 조건문이 들어가는 예제도 한번 보겠습니다.

    예를 들어, 학생들의 점수가 담길 리스트에서 60점 이상인 학생에게만

    합격을 출력하는 반복문을 만들어 보겠습니다.

     

    list comprehension

    마지막으로 for문을 좀 더 간단하게 표현할 수 있는 리스트 컴프리헨션에 대해 배워볼게요!

    먼저 구조는 다음과 같습니다.

    [표현식 for 항목 in 반복가능객체 if 조건문]

    이것만 보면 무슨 말인지 모르겠죠?

     

    예시를 보여드리겠습니다.

    만약 for 문을 사용해서 1부터 100까지 정수 중 짝수만 리스트로 담고 싶다면 다음과 같이 할 수 있습니다.

    먼저 빈 리스트를 하나 만든 뒤 for 문 안에 조건문을 넣어서

    짝수만 판별해 append 함수로 빈 리스트 안에 넣어주는 작업이 필요하죠.

     

    그렇다면 리스트 컴프리헨션을 이용하면 어떻게 될까요?

    같은 결과인데 훨씬 짧은 코드로 표현이 가능하죠?

    list comprehension을 만드는 것도 파이썬에서 자주 쓰이기 때문에

    잘 알아두면 좋습니다 😊


    이렇게 이번 포스팅에서는 반복문에 대해 공부했습니다.

    다음 포스팅까지 조건문과 반복문 반복하기! 😉

    '데이터분석 > Python' 카테고리의 다른 글

    [Python] 함수  (2) 2023.03.29
    [Python] 조건문 if  (0) 2023.03.24
    [Python] 변수  (0) 2023.03.22
    [Python] 파이썬 데이터 타입 (2)  (0) 2023.03.21
    [Python] 파이썬 데이터 타입 (1)  (0) 2023.03.21

    댓글

Designed by Tistory.