학습 목표
- 조건문을 이해하고 특정 조건에 해당되었을 때 코드가 실행되게 할 수 있다
- 반복문을 이해하고 코드를 원하는 만큼 반복되게 할 수 있다
1. 조건문
1) 조건문이란?
: 특정 조건이 참(True)인 경우에만 특정 코드 블록을 실행
파이썬에서 조건문은 if, elif(else if의 줄임말), else 키워드를 사용하여 구성
# 조건문의 기본 구조 x = 10
if x > 0:
print("양수입니다.")
elif x < 0:
print("음수입니다.")
else:
print("0입니다.")
출력 : 양수입니다. |
# 예시 x = 10
if x > 5:
print("x는 5보다 큽니다.")
else:
print("x는 5보다 작거나 같습니다.")
출력 : x는 5보다 큽니다. |
2) 들여쓰기 및 띄어쓰기의 중요성
: 파이썬은 들여쓰기를 통해 블록을 식별하기 때문에 들여쓰기가 제대로 이루어지지 않으면 오류 발생
예시에서는 들여쓰기를 사용하여 블록이 서로 어떻게 연결되어 있는지 명확함, 첫 번째 if문의 내부에 두 번째 if문이 있는 것을 알 수 있다
# 첫 번째 if문 내부에 두 번째 if문이 있는 경우 x = 10
if x < 0:
print("첫 번째 블록 시작")
if x > 5:
print("두 번째 블록 시작")
else:
print("첫 번째 블록 끝")
출력 : 첫 번째 블록 끝 (else의 결과) |
# 각각 독립적인 if문 x = 10
if x < 0:
print("첫 번째 블록 시작")
if x > 5:
print("두 번째 블록 시작")
else:
print("첫 번째 블록 끝")
출력 : 두 번째 블록 시작 (두 번째 if문의 결과) |
3) 연산자
![]() |
![]() |
예시:
4) 조건문의 다양한 예시
: 논리 연산자를 사용하는 다중 조건식
연산자 and, or, not 을 사용하여 다중 조건식을 활용
조건식은 중첩하여 사용할 수 있다
x = 10
y = 7
if x > 5 and y < 10:
print("x는 5보다 크고, y는 10보다 작습니다.")
if x < 5 or y > 10:
print("x는 5보다 작거나, y는 10보다 큽니다.")
if not (x == 5):
print("x는 5와 같지 않습니다.")
출력 : x는 5보다 크고, y는 10보다 작습니다. x는 5와 같지 않습니다. |
x = 10
if x > 5:
print("x는 5보다 큽니다.")
if x < 15:
print("x는 15보다 작습니다.")
else:
print("x는 15보다 큽니다.")
else:
print("x는 5보다 작거나 같습니다.")
출력 : x는 5보다 큽니다. x는 15보다 작습니다. |
x = 10
if x > 0:
if x % 2 == 0:
print("양의 짝수입니다.")
else:
print("양의 홀수입니다.")
else:
print("음수 또는 0입니다.")
출력 : 양의 짝수입니다. |
5) 조건문의 짧은 표현
: 특수한 경우, 조건문을 한 줄로 간략하게 표현할 수 있다
6) 조건문이 실전에서 사용되는 예시 : 분석 결과에 따른 의사 결정
- 데이터 분석을 통해 도출된 결과를 바탕으로 의사 결정을 내릴 때도 조건문을 사용한다
- 예를 들어, 특정 제품의 판매량이 일정 기준을 넘는다면 추가 생산이 필요하거나, 고객의 특성에 따라 마케팅 전략을 변경해야 할 경우에 조건문을 활용할 수 있다
2. 반복문 - for문
1) for문이란?
- 여기서 "반복할(순회할)_데이터"는 리스트, 튜플, 문자열 등과 같은 반복 가능한(iterable) 데이터 타입
- "변수"는 각 반복(iteration)마다 현재 값을 가지는 변수
2) for문 기본 사용법
# 리스트 순회하기 fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
이 코드는 "apple", "banana", "cherry"를 순서대로 출력합니다. |
# 문자열 순회하기 for letter in "hello":
print(letter)
이 코드는 "h", "e", "l", "l", "o"를 순서대로 출력합니다. |
# range() 함수와 함께 사용하기 for i in range(5):
print(i)
이 코드는 0부터 4까지의 숫자를 출력합니다. |
[ range 함수 ]
- range() 함수는 연속된 정수를 생성하는 데 사용되는 내장 함수
- 함수는 시작값(start), 끝값(stop), 그리고 증가값(step)을 인자로 받아 사용됨
- 주로 반복문에서 사용되며, 특히 for 루프와 함께 자주 사용됨
- start : 순차적인 정수 시퀀스의 시작 값. 이 값은 생략 가능하며, 기본값은 0
- stop : 순차적인 정수 시퀀스의 끝 값. 이 값은 필수적으로 지정되어야 함 단, 실제로 생성되는 마지막 숫자는 이 값보다 작음
- step : 각 숫자 사이의 간격. 이 값은 생략 가능하며, 기본값은 1
사례 1 : range(stop) # 0부터 시작하여 5 이전까지의 정수 시퀀스 생성
for i in range(5):
print(i, end=' ')
# 출력: 0 1 2 3 4
|
사례 2 : range(start, stop) # 2부터 시작하여 7 이전까지의 정수 시퀀스 생성
for i in range(2, 7):
print(i, end=' ')
# 출력: 2 3 4 5 6
|
사례 3 : range(start, stop, step) # 1부터 시작하여 10 이전까지 2씩 증가하는 정수 시퀀스 생성
for i in range(1, 10, 2):
print(i, end=' ')
# 출력: 1 3 5 7 9
|
# 딕셔너리 순회하기
3) 조건문과 함께 사용하기
# 짝수만 출력하기 for i in range(1, 11):
if i % 2 == 0:
print(i)
이 코드는 1부터 10까지의 숫자 중 짝수만 출력합니다. |
# 1부터 100까지의 숫자 중 3의 배수 출력하기 for i in range(1, 101):
if i % 3 == 0:
print(i)
|
# 리스트에서 특정 값 걸러내기 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = []
for num in numbers:
if num % 2 == 0:
even_numbers.append(num)
print(even_numbers)
주어진 리스트에서 짝수만 골라내어 새로운 리스트에 저장한 후 출력합니다. |
# 구구단 출력하기 for i in range(2, 10):
print(f"{i}단:")
for j in range(1, 10):
print(i, "x", j, " = ", i * j)
|
# 별표로 직각 삼각형 그리기 size = 10 # 삼각형의 크기를 입력
for i in range(1, size + 1):
print("*" * i)
|
# 문자열에서 특정 문자 제거하기 sentence = "Hello World"
result = ""
for char in sentence:
if char != "o":
result += char
print(result)
|
# 딕셔너리에서 특정 조건에 맞는 항목 출력하기
4) 이중 for문 사용
- 이중 for문을 사용하면 중첩된 데이터 구조를 탐색하거나 데이터를 처리할 수 있다
- 데이터를 보다 복잡하게 처리하고 원하는 패턴을 찾을 수 있다
# 구구단 출력하기 for i in range(2, 10):
for j in range(1, 10):
print(i, "x", j, "=", i*j)
|
# 별(*)표로 삼각형 만들기 size = 5
for i in range(size):
for j in range(i + 1): print("*", end="")
print()
|
# 별(*)표로 역삼각형 만들기 size = 5
for i in range(size, 0, -1):
for j in range(i):
print("*", end="")
print()
|
5) 반복문이 실전에서 사용되는 예시들
1. 데이터 정제 및 전처리
- 데이터에서 결측치를 처리하거나 이상치를 탐지하기 위해 각 행이나 열을 반복적으로 검사
- 문자열 데이터를 숫자로 변환하거나 특수문자를 제거하는 등의 전처리 작업에서 반복문을 사용
2. 통계 계산
- 데이터의 요약 통계(평균, 중앙값, 표준편차 등)를 계산할 때 각 요소를 반복하여 처리
- 히스토그램이나 분포를 만들 때 데이터를 반복하여 처리하고 카운트
3. 데이터 탐색
- 데이터의 특정 패턴이나 특징을 찾기 위해 데이터를 반복적으로 탐색. 예를 들어, 특정 조건을 만족하는 데이터를 찾거나 특정 값의 분포를 조사할 때 사용
- 다차원 데이터 구조를 탐색하고 관련 정보를 추출하기 위해 반복문이 사용됨
4. 모델 평가
- 모델의 성능을 평가할 때 예측값과 실제값을 비교하기 위해 데이터를 반복하여 처리
- 교차 검증(cross-validation)을 수행할 때 각 폴드에 대해 반복문을 사용하여 모델을 훈련하고 평가
5. 반복적인 작업 자동화
- 여러 데이터 파일이나 시계열 데이터의 각 시간 단계를 반복적으로 처리하여 일괄적으로 분석하거나 처리
- 반복적인 분석 작업을 자동화하기 위해 반복문을 사용
4. 반복문 - while문
1) while이란?
: while문은 조건을 만족하는 동안 코드 블록을 반복적으로 실행
while문은 특정 조건이 참(True)일 때에만 실행되며, 조건이 거짓(False)이 될 때까지 반복
- 여기서 "조건"은 불리언(boolean) 값(True 또는 False)을 반환하는 표현식
- 조건이 True로 평가될 때까지 코드 블록이 반복적으로 실행
2) while문의 기본 사용법
# 1부터 5까지 출력하기 i = 1
while i <= 5:
print(i)
i += 1
1부터 5까지의 숫자를 출력한다. while문을 사용하여 변수 i가 5 이하일 때까지 반복하여 숫자를 출력하고, 반목마다 i를 1씩 증가시킨다. |
# 사용자 입력받기 user_input = ''
while user_input != 'quit':
user_input = input("Type 'quit' to exit: ")
print("You typed:", user_input)
사용자로부터 'quit'을 입력할 때까지 사용자 입력을 받는다. 사용자가 'quit'을 입력하면 while문이 종료된다. |
- 무한 루프와 break문
while True:
user_input = input("Type 'quit' to exit: ")
if user_input == 'quit':
break
print("You typed:", user_input)
|
- 이 코드는 무한 루프를 생성하고 사용자가 'quit'을 입력하면 루프를 종료한다. 이때 break문이 사용됨
- 반복문에는 break, pass, continue는 각각 반복문의 동작을 중단하거나 다음 반복으로 이동하거나 아무 동작을 하지 않고 다음으로 넘어가는 데 사용됨
- break 예시
# 사용자가 'quit'을 입력할 때까지 반복하여 숫자를 입력받고 합을 출력
total = 0
while True:
num = input("숫자를 입력하세요 (종료하려면 'quit' 입력): ")
if num == 'quit':
break
total += int(num)
print("합:", total)
break 문은 사용자가 'quit'을 입력할 때 반복문을 종료시킨다. |
- pass 예시
# 홀수를 출력하는 코드에서 짝수일 경우에는 아무 작업도 수행하지 않고 넘어감
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num % 2 == 0:
pass
else:
print(num, "은 홀수입니다.")
pass 문은 아무런 동작을 하지 않고 다음 반복을 계속한다. 홀수를 출력하는 반복문에서 짝수일 경우 아무 작업도 하지 않고 다음 반복을 진행 |
- continue 예시
# 1부터 10까지의 숫자 중 짝수를 출력
num = 0
while num < 10:
num += 1
if num % 2 == 1:
continue
print(num)
continue 문은 짝수일 경우에만 출력을 수행하고, 홀수일 경우 다음 반복을 진행 |
- 조건에 따른 특정 동작 반복
count = 0
while count < 3:
print("Hello")
count += 1
"Hello"를 세 번 출력한다. count 변수를 사용하여 while문이 세 번 반복되도록 설정함 |
num = 5
factorial = 1
while num > 0:
factorial *= num
num -= 1
print("Factorial of 5 is:", factorial)
while문을 사용하여 5의 팩토리얼을 계산 |
'내일배움캠프_QAQC 트랙 1기 > 강의 요약' 카테고리의 다른 글
[내일배움캠프] 데이터 분석 파이썬 종합반 5주차 (3) | 2024.12.27 |
---|---|
[내일배움캠프] 데이터 분석 파이썬 종합반 4주차 (1) | 2024.12.27 |
[내일배움캠프] 데이터 분석 파이썬 종합반 2주차 (1) | 2024.12.23 |
[내일배움캠프] 데이터 분석 파이썬 종합반 1주차 (3) | 2024.12.23 |
[내일배움캠프] 데이터 분석 종합반 3주차 (2) | 2024.12.19 |