range() 함수를 활용한 반복# 기본 for 반복문 예시
for i in range(5):
print(i) # 0, 1, 2, 3, 4 출력
# 문자열 순회
for char in "python":
print(char) # p, y, t, h, o, n 각각 출력
# 1부터 10까지의 합 계산
sum = 0
for i in range(1, 11):
sum += i
print(f"1부터 10까지의 합: {sum}") # 55
range() 함수 사용법range(stop): 0부터 stop-1까지range(start, stop): start부터 stop-1까지range(start, stop, step): start부터 stop-1까지 step 간격으로# 기본 while 반복문
i = 0
while i < 5:
print(i)
i += 1 # 0, 1, 2, 3, 4 출력
# 팩토리얼 계산
factorial = 1
n = 10
i = 1
while i <= n:
factorial *= i
i += 1
print(f"{n}! = {factorial}") # 3,628,800
import turtle
# 육각형 그리기
polygon = turtle.Turtle()
num_sides = 6
side_length = 70
angle = 360.0 / num_sides
for i in range(num_sides):
polygon.forward(side_length)
polygon.right(angle)
import math
import turtle
t = turtle.Turtle()
t.speed('fastest')
for degree in range(360):
y = math.sin(math.radians(degree))
scaledX = degree
scaledY = y * 100
t.goto(scaledX, scaledY)
for와 while 반복문의 차이점은 무엇인가? for 반복문미리 정해진 시퀀스나 횟수를 반복할 때 사용
반복 횟수를 알고 있는 경우에 적합
주로 리스트, 문자열, range() 등과 함께 사용
반복 횟수가 명확하고 정해진 범위 내에서 반복할 때 효율적
while 반복문조건이 참인 동안 계속 반복
반복 횟수를 미리 알 수 없는 경우에 적합
특정 조건이 만족될 때까지 반복
조건 검사를 먼저 수행하고 반복 여부 결정
무한 루프 가능성이 있어 주의 필요
반복 제어 방식:
for: 정해진 범위나 시퀀스 순회while: 조건 기반 반복사용 상황:
for: 알려진 반복 횟수나 시퀀스 순회whilerange(5, 10, 2)는 어떤 값을 생성하는가?[5, 7, 9]를 생성
시작값: 5
끝값: 10 이전까지 (10 제외)
증가 간격: 2
첫 번째 인자 5: 시작값
두 번째 인자 10: 종료값 (이 값은 포함되지 않음)
세 번째 인자 2: 각 단계별 증가값
5부터 시작해서 2씩 증가하며 10 미만까지 생성
break와 continue의 역할은 무엇인가? break반복문을 즉시 종료하고 반복문 밖으로 탈출
특정 조건에서 반복을 완전히 중단할 때 사용
반복문의 모든 후속 반복을 건너뜀
python
복사
for i in range(10):
if i == 5:
break # 5에서 반복문 완전 종료
print(i) # 0, 1, 2, 3, 4만 출력
continue현재 반복의 나머지 코드를 건너뛰고 다음 반복으로 진행
특정 조건에서 해당 반복만 건너뛰고 싶을 때 사용
반복문 자체는 계속 진행
python
복사
for i in range(10):
if i % 2 == 0:
continue # 짝수일 경우 건너뜀
print(i) # 1, 3, 5, 7, 9만 출력
break: 반복문 전체 종료
continue: 현재 반복만 건너뛰고 다음 반복 진행
# 1. 1부터 100까지 짝수의 합
even_sum = 0
for i in range(2, 101, 2):
even_sum += i
print(f"짝수의 합: {even_sum}")
# 2. 사용자 입력 팩토리얼 계산
n = int(input("정수를 입력하세요: "))
factorial = 1
for i in range(1, n+1):
factorial *= i
print(f"{n}! = {factorial}")
# 3. 8개의 원 그리기
import turtle
t = turtle.Turtle()
for i in range(8):
t.circle(100)
t.right(360/8)