TIL/Python

241118 인공지능을 위한 파이썬 - 2주차_2

beady 2024. 11. 18. 21:02

제어문과 반복문

 

- 제어문 : 프로그램의 실행 흐름을 제어하는 명령문
특정 조건을 만족할 때만 특정 코드를 실행 or 여러 조건에 서로 다른 코드 실행

 

- 반복문 : 특정 코드 블록을 여러 번 반복 실행하는 구조

 

제어문과 반복문 결합 사용 가능

 

어떻게 구성할지는 개발자의 몫

 

 

 

제어문과 반복문의 프로그래밍에서의 중요성

 

1. 유연성 : 프로그램의 다양한 상황 대처

2. 코드 재사용 : 코드의 길이를 보다 간결하게 하고, 유지보수를 쉽게 만들 수 있음

3. 자동화 : 대량의 데이터 처리나 반복 작업을 자동화 가능

 

 

 

파이썬의 조건문 : 주어진 조건에 따라 특정 코드 블록을 실행하거나 건너뛰는 기능

 

※ 파이썬은 들여쓰기를 기준으로 코드 구조를 구분함

 

1. if문 : 해당 조건식이 참이면 해당 코드 블록 실행

age = 20

if age >= 20:
    print("성인입니다.")
# 성인입니다.

 

 

2. else문 : if문의 조건이 거짓일 때 실행되는 코드 블록

age = 18

if age >= 20:
    print("성인입니다.")
else:
    print("미성년자입니다.")
# 미성년자입니다.

 

 

3. elif문 : 여러개의 조건을 순차적으로 검사하고 참인 조건의 해당 코드 블록 실행

age = 30

if age >= 30:
	print("30세 이상 성인입니다.")
elif age >= 20:
	print("성인입니다.")
else:
	print("미성년자입니다.")
# 30세 이상 성인입니다.

 

 

4. 중첩 조건문 : 조건문 안에 또 다른 조건문을 사용

# 사용자로부터 나이와 학생 여부를 입력받아 상태를 출력하는 프로그램
age = int(input("나이를 입력하세요: "))
is_student = input("학생입니까? (yes/no): ")

if age >= 20:
    if is_student.lower() == "yes":
        print("성인이며, 학생입니다.")
    else:
        print("성인이며, 학생이 아닙니다.")
else:
    if is_student.lower() == "yes":
        print("미성년자이며, 학생입니다.")
    else:
        print("미성년자이며, 학생이 아닙니다.")
a = "yes"
a.upper() # "YES" / a를 대문자로

b = "YES"
b.lower() # "yes" / b를 소문자로

 

 

 

파이썬의 반복문 : 동일한 코드 블록을 여러 번 실행하도록 하는 구조

 

1. for문 : 컬렉션의 각 요소 순차적 순회하며 코드 블록 실행

# 숫자 리스트의 각 요소를 세제곱한 값을 출력하는 프로그램
list_samples = [1, 2, 3, 4, 5]

for numbers in list_samples:
    cube = numbers ** 3
    print(f"{numbers}의 세제곱은 {cube}입니다.") 
# 1의 세제곱은 1입니다.
# 2의 세제곱은 8입니다.
# 3의 세제곱은 27입니다.
# 4의 세제곱은 64입니다.
# 5의 세제곱은 125입니다.

 

 

2. while문 : 조건식이 참인 동안 계속 반복

※ False가 되는 지점이 있어야 while문이 동작을 멈춤 / 무한 루프 구성 가능

number = 10

while number <= 13:
    number += 1
    print(number)
# 11
# 12
# 13
# 14

 

# while문으로 list를 순회하는 방법

list_samples = [1, 2, 3, 4, 5]

start_position = 0
while start_position < len(list_samples):
    print(list_samples[start_position])
    start_position += 1
# 1
# 2
# 3
# 4
# 5

 

 

3. break문 : 특정 조건 만족 시 반복문 즉시 종료

for i in range(50, 60):
    if i == 55:
        break	# i가 55일 때, break문 실행되어 반복문 종료
    print(i)
# 50
# 51
# 52
# 53
# 54

 

 

4. continue문 : 특정 조건의 반복문 건너뛰고 다음 반복으로 넘어감

list_samples = [1, 2, 3, 4, 5]

for i in list_samples:
    if i == 3:
        continue	# i가 3일 때 건너뜀
    print(i)   
# 1
# 2
# 4
# 5

 

 

 

5. 반복문과 컬렉션 : range() 함수 활용

for i in range(0, 5, 2): # 0부터 5까지(해당 숫자는 포함 X) 2의 간격으로 코드 실행
	print(i)   
# 0
# 2
# 4
# list_samples의 각 요소가 몇 번째인지 확인하기

list_samples = [1, 2, 3, 4, 5]

for i in range(len(list_samples)):
    print(list_samples[i])
    print(i, "번째입니다.")
# 1
# 0번째입니다.
# 2
# 1번째입니다.
# 3
# 2번째입니다.
# 4
# 3번째입니다.
# 5
# 4번째입니다.
# enumerate 참고

list_samples = [1, 2, 3, 4, 5]

for i, j in enumerate(list_samples):
    print(i, j) 
# 0 1
# 1 2
# 2 3
# 3 4
# 4 5

 

 

6. 중첩 반복문 : 반복문안에 또 다른 반복문 사용 / 2차원 데이터나 복잡한 반복 작업 수행 시 사용

for i in range(1, 3):
    for j in range(1, 3):
        print(f"i={i}, j={j}")
# i=1, j=1
# i=1, j=2
# i=2, j=1
# i=2, j=2