[Lecture/Python] 07강 - 반복 구조

김찬미·2025년 5월 2일

[Lecture] Python

목록 보기
7/13

7강 요약: 반복 구조

✅ 반복 구조의 정의

특정 명령의 명령문을 여러 번 재실행하는 구조
→ 반복 횟수는 조건에 따라 결정
loop, ierate, repeat 용어가 혼용

구문 형식

#구문형식: 조건 제어 반복
while 반복-계속-조건:
	코드 블록
    
#구문형식: 계수 제어 반복
for 계수-제어-변수 in 시퀀스:
	코드 블록

반복 출력 프로그램

'저는 파이썬을 잘 다룰 수 있습니다'를 5번 출력하기

#메시지 저장
msg = "저는 파이썬을 잘 다룰 수 있습니다."

#5번 반복 출력
print(msg)
print(msg)
print(msg)
print(msg)
print(msg) #비효율적
#메시지 저장
msg = "저는 파이썬을 잘 다룰 수 있습니다."

#5번 반복 출력
count = 1
while count <= 5:
	print(msg)
    count = count + 1

반복 구조의 공포

#메시지 저장
msg = "저는 파이썬을 잘 다룰 수 있습니다."

#5번 반복 출력
count = 1
while count <= 5:
	print(msg)
    #count 변수가 그대로면 무한 루프에 빠진다

n까지 합 계산 프로그램

n = int(input("숫자를 입력하세요: "))
sum = 0

for i in range(1, n + 1):
    sum += i

print("1부터", n, "까지의 합은", sum, "입니다.")

✅ 리스트

순서화된 값의 집합체를 저장할 수 있는 데이터 타입
단일 식별자연속된 저장 공간 접근 수단 제공
→ 개별 원소의 값을 수정, 추가, 삭제 가능
→ 원소(element)의 나열을 저장할 수 있는 시퀀스 타입 중 하나

💡 시퀀스 타입이란?
리스트, 세트, 투플, 딕셔너리 등 값이 연속적으로 이어진 자료형


리스트의 구성


리스트의 생성

구문 형식

  • 인용부호 []를 사용하여 표현
  • 원소는 콤마(,)로 나열
hei_list = [1,4,14,26,31]
body = [181, 78, "dark brown", "black"] #다양한 자료형 가능

인덱스 연산자

시퀀스 타입의 원소에 접근하는 연산자
→ 접근 연산자 [number] 사용
→ 원소에 부여된 인덱스 번호로 지칭

hei_list = [1,4,14,26,31]
print(hei_list[2]) #출력값: 14

계수 제어 반복의 사용

구문 형식

  • 계수-제어 변수와 시퀀스 사용
  • 반복 시, 계수-제어-변수에 시퀀스의 원소 할당
# 리스트 생성
hei_list = [1,4,14,26,31]

for hei in hei_list:
	print(hei)

✅ 반복 구조의 확장

리스트 생성 자동화

리스트 내 원소에 규칙성이 있는 경우, 생성 자동화를 위해 함수 사용 가능

💡 range 함수에 대해

  • range(a, b, k) → a부터 시작해서 b보다 작은 값까지 k씩 증가
  • k가 음수이면 감소 방향으로 진행되고, 이 경우 a > b이어야 동작함

range 함수의 사용

range(start, stop, step)
항목설명
start시작 값 (생략 시 기본값은 0)
stop끝 값 바로 앞까지 (포함되지 않음)
step증가 또는 감소할 값 (기본은 1, 음수 가능)

🔹 예시

range(1, 5)[1, 2, 3, 4]
range(0, 10, 2)[0, 2, 4, 6, 8]
range(10, 0, -2)[10, 8, 6, 4, 2]

반복 출력 프로그램 개선

'저는 파이썬을 잘 다룰 수 있습니다'를 5번 출력하기

#메시지 저장
msg = "저는 파이썬을 잘 다룰 수 있습니다"

#5번 반복 출력
for count in range(1, 6):
	print(msg)

format 함수

데이터를 양식에 맞춰 형식화

🔠 문자열 형식

format("구구단표", ">10s")
#      구구단표

🔢 정수 형식

format("1234", "<10d")
#1234      

💡 기본 정렬

  • 문자열: 좌측 정렬
  • 정수: 우측 정렬
profile
백엔드 지망 학부생

0개의 댓글