Ch 4. 조건문 / Ch 5. 반복문

2025. 4. 20. 23:29·Coding/Python
  • if-else 문
if 조건식 :
	문장 1
else :
	문장 2
문장 3

조건식이 True이면 문장 1을, False이면 문장 2를 실행

- else문이 없는 if문의 경우, if문의 조건식이 True이면 if문 블럭 내의 문장을 실행, 아니면 if문 블럭 다음의 문장(문장 3)을 실행

 

- 중첩 if 문 (if문 안에 if문)

- 연속 if 문 (if문 다음에 if문)

- elif 문 (else if)

 

  • 조건 연산자
max_value = (x if x > y else y) #if 뒤의 조건문이 참이면 x를, 아니면 else 뒤의 y를 max_value로 정의

간단한 조건문의 경우 조건 연산자를 사용하여 표현할 수 있음

 

  • for 문 (횟수 제어 반복)
for 변수 in 리스트 :
	문장 1
문장 2

변수에 리스트의 원소를 순서대로 할당하면서 문장 1을 실행 ▶ 리스트의 길이에 해당하는 횟수만큼 문장 1을 반복

- for문이 종료되면 문장 2를 실행

 

for _ in range(종료값) :
for _ in range(시작값, 종료값, 증가량) :

range() 함수를 이용하여 정수 시퀀스를 생성 (0부터 시작하여 종료값-1 까지 1씩 증가 (인덱스), 종료값과 일치하는 길이의 시퀀스 생성)

- range() 자체가 리스트를 반환하지는 않음

- 문자열 또한 시퀀스이므로, range() 대신 문자열을 입력할 수 있음.

 

  • while 문 (조건 제어 반복)
while 조건식 :
	문장 1
else :
	문장 2
문장 3

조건식이 True이면 문장 1을, False이면 문장 2를 무한히 반복

- else문이 없는 while문의 경우, while문의 조건식이 True이면 while문 블럭 내의 문장을 무한히 반복, 아니면 while문 블럭 다음의 문장(문장 3)을 실행

- 조건식 대신 부울 변수인 True를 입력하면, 문장 1을 무한히 반복하는 무한 반복문

 

- 중첩 for 문 (for문 안에 for문)

- 중첩 while 문 (while문 안에 while문)

 

  • break 문

가장 가까운 반복문 블럭 내의 break문 이하의 모든 문장을 무시하고 해당 반복문 블럭을 탈출

 

- 예시 (중첩 반복문, for-else문, if문)

for n in range(2, 20+1) :		#for_1
    for x in range(1+1, n) :	#for_2
        if n % x == 0 :
            break
    else :
        print(n, end=" ")
        
 # 출력 : 2 3 5 7 11 13 17 19

2에서 20까지의 소수(1과 자기자신만이 약수인 수)를 찾는 코드

- for_1문에 의해서 for_2문 블럭을 2에서 20까지 반복

- for_2문 블럭의 if문이 False이면(1과 n(자기자신) 이외의 약수가 있는 경우) break문 발동

- break문이 발동하면 for_2문 블럭을 탈출, for_2문의 else문은 무시

- for_2문 블럭의 반복이 break 발동 없이 종료되면(if문이 모두 True) else문 블럭의 문장 실행

- break문이 작동하는 경우

: for_1 (n = 4) ▶ for_2 ▶ if문 (x = 2 ▶ True) ▶ break ▶ for_1 (n = 5) ▶ for_2 ▶ ...

- break문이 작동하지 않는 경우

: for_1 (n = 5) ▶ for_2 ▶ if문 (break 발동 X) ▶ else문 ▶ print(n) ▶ for_1 (n = 6) ▶ for_2 ▶ ...

 

 

for n in range(2, 20+1) :		#for_1
    for x in range(1+1, n) :	#for_2
        if n % x == 0 :
            break
    print(n, end=" ")
    
# 출력 : 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

이 코드에서 print문은 for_2문 블럭 밖인 for_1문 블럭에 있기 때문에, break문이 발동하더라도 print문이 실행됨 (for_2문이 종료될 때마다 print문이 실행됨)

 

for n in range(2, 20+1) :		#for_1
    for x in range(1+1, n) :	#for_2
        if n % x == 0 :
            break
    	print(n, end=" ")
        
# 출력 : 3 5 5 5 7 7 7 7 7 9 11 11 11 11 11 11 11 11 11 13 13 13 13 13 13 13 13 13 13 13 15 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19

이 코드에서 print문은 for_2문 블럭 안에 있지만, else문 블럭 안에 있지 않기 때문에 for_2문의 반복으로 if문이 False일 때마다 print문이 실행됨 (break문이 발동되지 않을 때마다 그때의 n값이 print됨)

 

  • continue 문

가장 가까운 반복문 블럭 내의 continue문 이하의 모든 문장을 무시하고 해당 반복문의 다음 반복을 실행

 

- 예시

n = 20
for x in range(1, n+1) :
    if n % x != 0 :
        continue
    print(x, end=" ")
    
# 출력 : 1 2 4 5 10 20

n의 약수를 찾는 코드

- for문에 의해서 해당 블럭을 n번 반복

- if문이 True이면(약수가 아닌 경우) continue문 발동

- continue문이 발동하면 print문 무시, for문의 다음 반복을 실행

'Coding > Python' 카테고리의 다른 글

Ch 7. 리스트  (0) 2025.07.02
Ch 6. 함수  (0) 2025.04.21
Ch 3. 수식과 연산자  (0) 2025.04.20
Ch 2. 변수와 자료형  (0) 2025.04.20
Ch 1. 파이썬 소개  (0) 2025.04.20
'Coding/Python' 카테고리의 다른 글
  • Ch 7. 리스트
  • Ch 6. 함수
  • Ch 3. 수식과 연산자
  • Ch 2. 변수와 자료형
rlarudfhr
rlarudfhr
  • rlarudfhr
    androcom
    rlarudfhr
  • 전체
    오늘
    어제
    • 분류 전체보기 (96)
      • Coding (28)
        • Python (10)
        • C (13)
        • Github & Git (2)
        • WEB FE (3)
      • Mathematics (3)
        • 미적분학 (19)
        • 통계학 (16)
        • 선형대수 (10)
      • Quantum Computing (0)
      • PC & Mobile & Audio (7)
      • Etc (13)
  • 링크

    • Github
    • Baekjoon
    • Instagram
  • 공지사항

  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
rlarudfhr
Ch 4. 조건문 / Ch 5. 반복문
상단으로

티스토리툴바