22.10.07 - 제어문(For문)

LaMelo·2022년 10월 7일
0

jupyter

목록 보기
11/29
post-thumbnail

<< 제어문 >>

2-2. for 반복문

자료형(리스트, 튜플, 문자열)의 인덱스를 가지는 모든 아이템에 대하여 처음부터 마지막까지 차례대로 접근하여 실행문을 적용한다.

1. 기본 문법 (for in 고정)

    for 임시변수 in 자료형 :
        수행할 문장1
        수행할 문장2
        ...

▶ 임시변수

  • for 반복문이 실행되면 자료형의 아이템이 차례대로 임시변수에 할당된다.

  • 기본적으로 변수는 할당문이 존재해야 하지만 임시변수는 할당문이 필요 없는 객체이다.

1) for 반복문에서 i 는 a의 자료를 받는 임시변수이다.

  • 'i 는 a의 자료를 받는 임시변수이다.' 라는 말은 정확히 어떤 의미인가?

    • 정해진 조건문에 따라 한 블럭 작업을 시행할 동안만 a의 순서에 따른 자료값으로 역할을 한다는 의미(즉, 다음바퀴가 되면 a의 다음 인덱스로 의미가 변화)
  • 1> 하나의 아이템에 접근 : 리스트 자료형

    • 위의 첫 작업에서 i는 a의 1에 해당하며 블록의 작업에 따라 Hello World를 출력하였다.
    • 2번째 작업에서는 i는 a의 2에 해당
    • 3번째 작업에서는 a의 3에 해당 출력 이후
    • for문 첫줄로 올라가 다시 i는 a에 담을 변수가 있는지 체크 후 없으면 작업 종료의 순으로 이어진다.

2) 가변 변수로 활용 가능한 형태는 인덱스가 붙어 있는 형태면 가능하다.

  • 즉 인덱스 번호나 key 값이 붙는 등 인덱스가 존재한다면 리스트가 아니어도 상관이 없다는 의미이다.
  • 2> 하나의 아이템에 접근 : 튜플 자료형
  • 3> 하나의 아이템에 접근 : 딕셔너리 자료형
    • 딕셔너리 활용 - 딕셔너리는 인덱스 번호는 아니지만 key 값을 가지고 있으므로 활용이 가능하다.
    • 딕셔너리 자료형에 대해서는 반복문 접근시 key값을 기준으로 접근
    • 따라서 딕셔너리 접근은 .key()요소에 접근하는 것과 결과가 동일함
    • 좀 더 활용해보면 items() 역시 활용 가능하다. (key, value 쌍으로 묶인 자료가 출력)

2. range 함수

지정된 시작값과 끝값 사이의 숫자들을 자동으로 생성하여 range 객체로 반환하는 함수

  • 문법 : range(시작하는 값, 끝나는 값, [간격])
  • 특징 : 슬라이싱과 유사하게 끝나는 값은 포함되지 않는다.
  • range()를 list로 감싸야 변환됨. (그러나 변환하지 않아도 for문에서 사용가능)
  • 활용
    • range의 시작값이 0이라면 숫자를 하나만 넣는다.
    • range(숫자 하나)를 넣으면 적힌 숫자 바퀴만큼 돌린다.
    • 세 번째 숫자는 증가값이 아닌 증감값으로 음수가 들어갈 수 있다.
    • 이 경우 시작 숫자가 목표값보다 큰 숫자에서 시작해야 한다.

3. 중첩 반복문

  • 반복문 내부에 반복문을 작성하는 것을 중첩 반복문이라고 합니다.

  • 반복 횟수는 안쪽 반복문 * 바깥쪽 반복문 입니다.

  • 동작 이해가 어려우므로 여러번 연습해봅시다.

profile
가즈아~

0개의 댓글