1 / 23
WEEK 4

파이썬 기초 문법 2

제어문(조건문, 반복문)과 함수, 라이브러리

SECTION 01

조건문 (if)

상황에 따라 다른 코드를 실행하는 방법

01

조건문 기본 구조 (if, elif, else)

CONDITIONAL

주어진 조건이 참(True)일 때만
특정 코드를 실행합니다.

  • if: 가장 먼저 검사하는 조건입니다.
  • elif: 앞의 조건이 거짓일 때 검사하는 추가 조건입니다.
  • else: 모든 조건이 거짓일 때 실행됩니다.
  • 들여쓰기(Indentation)가 매우 중요합니다. 들여쓰기 된 부분만 조건에 종속됩니다.
score = 85

if score >= 90:
    print("A학점")
elif score >= 80:
    print("B학점")
else:
    print("C학점 이하")

> B학점
01

비교 연산자와 논리 연산자

비교 연산자

값의 크기를 비교하여 True/False를 반환합니다.

  • == : 같다
  • != : 다르다
  • >, <, >=, <= : 크기 비교

논리 연산자

여러 조건을 결합합니다.

  • and : 양쪽 모두 True일 때 True
  • or : 한쪽이라도 True이면 True
  • not : 상태를 반대로 뒤집음

연산자 활용 예시

age = 25
is_student = True

# 두 조건을 모두 만족해야 실행
if age < 30 and is_student == True:
    print("청년 학생 할인 적용")

# 조건 중 하나만 만족해도 실행
if age > 65 or age < 8:
    print("무료 입장")
SECTION 02

반복문 (for, while)

데이터를 순회하며 동일한 작업을 반복하는 방법

02

반복문 기본 구조 (for)

ITERATION

리스트나 튜플의 데이터를
하나씩 꺼내어 코드를 실행합니다.

  • 데이터 개수만큼 반복을 수행합니다.
  • 수십, 수백 개의 데이터를 다룰 때 코드를 획기적으로 줄여줍니다.
  • 반복문 내부 역시 들여쓰기가 필수입니다.
fruits = ["사과", "포도", "바나나"]

# 리스트 안의 데이터를 하나씩 fruit에 담아 실행
for fruit in fruits:
    print(fruit)

> 사과
> 포도
> 바나나
02

횟수를 지정하는 range() 함수

리스트 데이터가 없어도 특정 횟수만큼 반복하고 싶을 때 range() 함수를 사용합니다.

  • range(종료): 0부터 '종료-1'까지 생성
  • range(시작, 종료): '시작'부터 '종료-1'까지 생성
  • range(시작, 종료, 간격): 지정한 간격만큼 띄어 생성
# 0부터 2까지 반복 (총 3번)
for i in range(3):
    print(i)
> 0
> 1
> 2


# 1부터 4까지 반복
for i in range(1, 5):
    print(i)
> 1
> 2
> 3
> 4
02

조건이 참인 동안 반복하는 while

WHILE

조건이 참(True)인 동안
계속 반복합니다.

  • 반복 횟수가 정해지지 않고, 특정 조건이 만족될 때까지 반복할 때 사용합니다.
  • 조건이 계속 참이면 무한 반복(무한 루프)에 빠지므로, 반복문 안에서 조건을 바꿔주어야 합니다.
  • 반복을 즉시 멈추려면 break, 이번 차례만 건너뛰려면 continue를 사용합니다.
# 1부터 5까지 출력
n = 1
while n <= 5:
    print(n)
    n = n + 1
> 1
> 2
> 3
> 4
> 5


# break 로 반복 중단
n = 0
while True:
    n = n + 1
    if n == 3:
        break
    print(n)
> 1
> 2
02

반복문과 조건문의 결합

DATA FILTERING

데이터 분석 시 수많은 데이터 중 특정 조건에 맞는 데이터만 걸러낼 때(Filtering) 두 문법을 조합하여 사용합니다.

주의: 들여쓰기가 두 번 들어갑니다. (for문 내부의 if문 내부)

scores = [45, 90, 70, 30, 85]

# 점수를 순회하면서 70점 이상만 출력
for score in scores:
    if score >= 70:
        print("합격:", score)

> 합격: 90
> 합격: 70
> 합격: 85
SECTION 03

세트 (set)

중복 없는 데이터를 만들고 집합 연산 활용하기

03

세트: 중복 없이 항목 모으기

SET · UNIQUE

중복을 허용하지 않고
순서를 보장하지 않는 자료형입니다.

  • {값1, 값2} 또는 set()으로 만듭니다.
  • 빈 세트는 반드시 set()으로 만듭니다. {}는 빈 딕셔너리입니다.
  • add()로 추가하고 remove()로 제거합니다.
  • discard()는 값이 없어도 오류가 나지 않습니다.
languages = {"C", "Python", "C"}
print(languages)
> {'C', 'Python'} # 순서는 달라질 수 있음

languages.add("Java")
languages.remove("C")
languages.discard("Go")  # 오류 없음

picked = languages.pop()  # 임의 항목 제거·반환
languages.clear()  # 모든 항목 제거
print(languages)
> set()
03

세트를 활용한 집합 연산

두 집단의 공통점과 차이점을 구할 때 세트 연산을 활용하면 반복문 없이 간결하게 처리할 수 있습니다.

  • A | B: 합집합 — 양쪽의 모든 항목
  • A & B: 교집합 — 양쪽의 공통 항목
  • A - B: 차집합 — A에만 있는 항목
  • A ^ B: 대칭 차집합 — 한쪽에만 있는 항목
A = {"Python", "R", "SQL"}
B = {"Python", "Java", "SQL"}

print(A | B)
> {'Python', 'R', 'SQL', 'Java'}

print(A & B)
> {'Python', 'SQL'}

print(A - B)
> {'R'}

print(A ^ B)
> {'R', 'Java'}

※ 세트의 출력 순서는 실행 환경에 따라 달라질 수 있습니다.

SECTION 04

함수와 라이브러리

코드를 재사용하고, 남이 만든 도구를 가져다 쓰는 방법

04

함수(Function): 자주 쓰는 코드에 이름 붙이기

REUSABLE

반복되는 코드를 하나로 묶어
이름만 불러 재사용합니다.

  • def 키워드로 함수를 정의합니다.
  • 같은 작업을 여러 번 할 때 코드를 복사하지 않고 함수를 호출합니다.
  • 코드가 짧아지고, 수정할 때도 한 곳만 고치면 됩니다.
# 함수 정의
def greet():
    print("안녕하세요!")

# 함수 호출 (여러 번 재사용)
greet()
greet()
> 안녕하세요!
> 안녕하세요!
04

매개변수(Parameter)와 반환값(return)

함수에 값을 넣어(매개변수) 처리하고, 그 결과를 돌려받을(return) 수 있습니다.

  • 매개변수: 함수가 호출될 때 전달받는 값 (괄호 안에 정의)
  • return: 함수의 처리 결과를 함수 밖으로 돌려줌
  • return 이 없으면 결과를 변수에 담아 재사용할 수 없습니다.
# 더한 값을 반환하는 함수
def add(a, b):
    return a + b

result = add(3, 5)
print(result)
> 8

# 반환값을 다른 계산에 재사용
print(add(10, 20) * 2)
> 60
04

표준 라이브러리와 서드파티 라이브러리

라이브러리는 이미 만든 코드를 모아 재사용하게 해 줍니다. 설치 여부에 따라 두 종류로 구분할 수 있습니다.

  • 표준 라이브러리: 파이썬에 기본 포함되어 바로 사용합니다. 예: math, random
  • 서드파티 라이브러리: 별도로 개발·배포됩니다. 예: NumPy, pandas, matplotlib
  • Google Colab에는 주요 데이터 분석 라이브러리가 미리 설치되어 있습니다.
# 표준 라이브러리 전체 불러오기
import math

print(math.sqrt(16))
> 4.0

print(math.pi)
> 3.141592653589793

# 필요한 함수만 불러오기
from math import sqrt
print(sqrt(25))
> 5.0

# 서드파티 라이브러리와 별칭
import pandas as pd
04

데이터 분석의 세 가지 핵심 라이브러리

NumPy

수치 계산

빠른 N차원 배열과 과학 계산 기능을 제공합니다.

import numpy as np
arr = np.array([1, 2, 3])
pandas

표 데이터 분석

Series와 DataFrame으로 CSV·엑셀 같은 표 데이터를 다룹니다.

import pandas as pd
df = pd.DataFrame(data)
matplotlib

데이터 시각화

선·막대·히스토그램·파이 등 다양한 그래프를 그립니다.

import matplotlib.pyplot as plt
plt.plot([1, 2, 3])

NumPy로 계산 → pandas로 표를 다룸 → matplotlib으로 결과를 시각화

04

print 와 return, 무엇이 다를까?

입문자가 가장 자주 헷갈리는 부분입니다. print 는 화면에 보여주는 것, return 은 값을 돌려주는 것입니다.

  • print(): 결과를 화면에 출력만 하고, 값은 남지 않습니다.
  • return: 값을 함수 밖으로 돌려주어 변수에 저장하거나 다른 계산에 쓸 수 있습니다.
  • 데이터 분석에서는 계산 결과를 return 으로 받아 이어서 처리하는 경우가 많습니다.
# print 만 사용한 함수 (값이 남지 않음)
def add_print(a, b):
    print(a + b)

x = add_print(2, 3) # 5 출력
print(x)
> None

# return 을 사용한 함수 (값을 돌려받음)
def add_return(a, b):
    return a + b

y = add_return(2, 3)
print(y * 10)
> 50
SECTION 05

4주 차 실습 과제

조건문, 반복문, 함수, 라이브러리를 활용한 데이터 처리 실습

05

[실습 1] 리스트 데이터 조건 필터링

리스트에 담긴 학생들의 점수를 순회하며, 80점 이상인 합격자의 점수만 따로 출력해 봅니다.

수행 목표

  • for 반복문을 이용한 리스트 순회
  • if 조건문을 이용한 데이터 필터링
  • 올바른 들여쓰기(Indentation) 적용

실습 가이드 코드

scores = [55, 90, 85, 40, 100, 75]

# 반복문과 조건문 결합
for score in scores:
    if score >= 80:
        print("합격 점수:", score)

# 예상 출력 결과: 90, 85, 100
05

[실습 2] 함수로 성적 계산하기

매개변수와 return 을 사용해, 총점과 평균을 계산하는 함수를 직접 만들어 봅니다.

수행 목표

  • def 로 함수를 정의하기
  • 리스트를 매개변수로 받아 합계/평균 계산하기
  • return 으로 결과를 돌려받아 재사용하기

실습 가이드 코드

# 평균을 계산하는 함수
def average(scores):
    total = 0
    for s in scores:
        total = total + s
    return total / len(scores)

my_scores = [80, 95, 70]
print(round(average(my_scores), 2))
> 81.67
05

[실습 3] 라이브러리를 활용한 계산

표준 라이브러리 math 를 불러와, 반복문과 함수를 함께 활용한 계산을 해 봅니다.

수행 목표

  • import 로 라이브러리 불러오기
  • 모듈.함수() 형태로 기능 호출하기
  • 반복문으로 여러 값 처리하기

실습 가이드 코드

# math 라이브러리 불러오기
import math

# 1. 제곱근 구하기
print(math.sqrt(144))
> 12.0

# 2. 반복문으로 1~5 의 제곱근 출력
for i in range(1, 6):
    print(i, round(math.sqrt(i), 2))
> 1 1.0
> 2 1.41
> 3 1.73
> 4 2.0
> 5 2.24
05

실습 결과 제출 안내

1

코드 작성 및 실행

코랩(Colab) 환경에서 실습 1, 2, 3의 코드를 각각의 셀(Cell)에 작성하고 실행합니다.

2

결과 캡처 또는 저장

작성한 소스 코드와 함께 하단에 출력된 결과물이 화면에 모두 나오도록 캡처하거나 .ipynb 파일로 저장합니다.

3

LXP (LMS) 과제 제출

대학 LXP 시스템의 [4주 차 과제] 게시판에 캡처 이미지 또는 코드 파일을 지정된 기한 내에 업로드합니다.