Skip to content

선택 구조 / 반복 구조

특정 영역의 명령문을 여러 번 재실행하는 구조

  • 동일한 코드를 반복적으로 작성하지 않고도 지정된 작업을 여러 번 수행 가능
  • 반복 횟수를 조건에 따라 결정
  • loop, iterate, repeat 용어를 혼용
  • 조건 제어 반복의 구문 형식
    while 반복-계속-조건:
    명령문 집합
  • 계수 제어 반복의 구문 형식
    for 계수-제어-변수 in 시퀀스:
    명령문 집합
# 메시지 저장
msg = "저는 파이썬을 잘 합니다."
# 5회 반복 출력
count = 0
while count < 5:
print(msg)
count += 1

변수의 현재 값에 특정 값을 증가 또는 차감한 후 그 결과를 동일한 변수에 재할당하는 연산

  • 카운팅, 값의 누적, 문자열 연결 등의 목적으로 사용

읽기: 메모리에서 count의 현재 값 읽기
계산: 현재 값에 + 1 연산
저장: 결과를 같은 이름 count에 덮어쓰기

변수의 값을 변경하고 결과를 다시 그 변수에 할당하는 과정을 간결하게 처리하는 연산자
일반 이항 연산자(+, // 등)와 할당 연산자의 결합

연산자예시의미
+=a += ba = a + b
-=a -= ba = a - b
_=a _= ba = a * b
/=a /= ba = a / b
%=a %= ba = a % b
**=a **= ba = a ** b
//=a //= ba = a // b
  • 단계 1: 반복되어야 하는 명령 블록을 작성
  • 단계 2: 반복되어야 하는 명령문을 다음과 같이 반복 구조로 작성 while True:
    명령 블록
  • 단계 3: 반복-계속-조건을 작성하고 반복 구조를 제어하기 위해 반복 제어 명령문을 추가 while 반복-계속-조건:
    명령 블록
    반복 제어 명령문
# 단계 1
sum += i
# 단계 2
while True:
sum += i
# 단계 3
sum = 0
i = 1
last = int(input("합산할 숫자를 입력하세요: "))
while i <= last:
sum += i
i += 1
print("1부터", str(last)+"까지의 합은", str(sum)+"입니다.")

여러 개의 데이터(값)를 순서대로 묶어서 저장하는 자료구조

  • 원소(element)의 나열을 저장할 수 있는 시퀀스 타입 · 시퀀스: 리스트, 튜플 등
  • 데이터가 저장된 순서가 명확하게 유지
  • 단일 식별자로 연속된 저장 공간 접근 수단 제공 · 각 데이터는 0부터 시작하는 고유한 ‘순번’(인덱스)이 지정
  • 개별 원소의 값을 수정, 추가, 삭제 가능
  • 중복된 값 뿐만 아니라 숫자, 문자열, 다른 리스트 등 서로 다른 데이터 타입의 데이터 저장 가능

직접 참조하는 일반 변수와 달리, 리스트는 값들의 주소가 담긴 목록을 참조하는 간접 참조 방식
구문 형식 : 인용부호 [와]를 사용하여 표현, 각 원소는 콤마(,) 로 구분

시퀀스 타입의 원소에 접근하는 연산자

  • 접근 연산자 [ , ] 사용
  • 원소에 부여된 인덱스 번호로 지칭
  • 인덱스 번호는 0부터 시작 [0] [1] [2] [4]
  • 계수-제어 변수와 시퀀스 사용
  • 반복 시 계수-제어-변수에 원소를 순차적으로 할당
# 구문 형식
for 계수-제어-변수 in 시퀀스:
명령문 집합
# 리스트 생성
hei_list = [1, 4, 14, 26, 31]
# 리스트 원소 출력
for hei in hei_list:
print(hei)