Today I Learned

[내일배움캠프 QA/QC 트랙 6기 본캠프] TIL #008 — 🤯

JiJi0406 2026. 5. 20. 21:14

001

오늘의 키워드: 에러는 나의 친구  

 

 이제 프로그래밍을 본격적으로 배우게 된 주차라 그런지 오늘도 역시 많은 시간을 colab에 코드를 입력하며 보냈다. 강의 다 듣고 퀴즈를 푸는데 오늘 라이브 세션  튜터님께서 한 말이 좀 박혔다. 에러가 안 뜨는 게 어려운 거라고, 에러 보고 수정할 수 있으면 잘하고 있는 거라고... 지금까지 에러 뜰 때마다 뭔가 잘못하는 것 같은 기분이었는데... 그냥 원래 다 그런 거였다니 좀 안심이 됐다. 그렇지만 같은 에러를 3번 이상 만나는 건 잘못하고 있는 게 맞으니까 에러는 최대한 덜 마주치자 ^^;;! 

 

 그리고 오늘 아티클 읽으면서 소프트 스킬 얘기가 세션이랑 겹쳐서 나와서 내용을 다시 한번 새길 수 있었다; 데이터 분석가에게 소프트 스킬 역량도 중요하다는 것. 데이터 분석에 필요한 하드 스킬은 강의 듣고 연습해보며 배우면 되는데, 소프트 스킬은 경험으로 쌓아야 하니까, 앞으로 하게 될 팀 프로젝트들을 허투루 하면 안 되겠다 싶었다.


 

002

오늘 배운 내용

 

[라이브 세션] : 손보미 튜터님  Python 기초 2회차

 

에러는 당연히 겪는 일

같은 에러를 3번 이상 만나지 않도록 보고 → 파악 → 구글링 → 해결하는 흐름 익히기

 

-

 

 

1. 정렬 메서드 .sort() VS sorted()


  .sort() sorted()
형태 메서드 내장 함수
메모리 차지 X O
사용 가능 자료형 리스트 전용 리스트, 문자열, 튜플, 딕셔너리 등

 

2. 딕셔너리와 집합

딕셔너리는 순서(인덱스)가 아니라 Key로 Value를 찾는다.

집합은 딕셔너리와 비슷하게 중괄호를 쓰지만 Key 없이 값만 들어가며, 중복을 절대 허용하지 않는다

자료형 특징 문법 예시
딕셔너리 Key-Value 쌍으로 관리, 키 중복 불가 {'name': 'Taran', 'age': 20}
집합 (Set) 중복 제거, 순서 없음, 집합 연산 가능 {'apple', 'banana', 'orange'}
# 1. 딕셔너리 (Dictionary) -> 키와 값의 커플 모임
# 중복 안 되는 'Key'로 'Value'를 찾아냄
my_dict = {
    "apple": 3,
    "banana": 5,
    "cherry": 2
}
print(my_dict["apple"])  # 출력: 3

# 2. 집합 (Set) -> 솔로들의 모임
# 값만 들어가고, 중복을 절대 허용 안 함 (순서도 없음)
my_set = {"apple", "banana", "cherry", "apple"}  # apple 중복 입력
print(my_set)  # 출력: {'banana', 'cherry', 'apple'} (중복 자동 제거됨)
 

 

[VOD 강의] 데이터 분석 파이썬 종합반 3주차 수강 완료

 

1. 조건문 (if - elif - else) 

조건문은 위에서 아래로 순차적으로 컴퓨터가 읽어 내려간다.

첫 번째로 참(True)이 나오는 블록의 처리문만 실행하고, 아래에 남은 나머지 조건들은 쳐다보지도 않고 무시한다.

어떤 조건도 만족하지 못하면 최종 기지인 else 블록으로 가고, 조건문 전체 블록이 다 끝나고 나온 하위 코드는 조건 결과와 상관없이 무조건 항상 실행된다.

 

아래 논리 연산자는 조건 결합할 때 쓰인다.

and 모두 참일 때만 참
or 하나 이상 참이면 참
not 조건을 부정
# 내 지갑에 있는 돈
money = 4000

if money >= 10000:
    print("치킨 고치킨 고")  # 1만 원 이상일 때 실행
elif money >= 5000:
    print("떡볶이 ㄱㄱ")     # 1만 원 미만, 5천 원 이상일 때 실행
elif money >= 3000:
    print("편의점 삼김 가자") # 5천 원 미만, 3천 원 이상일 때 실행
else:
    print("굶어야 함... ㅠ") # 위의 조건 다 아니면 실행
    
# 출력 결과: 편의점 삼김 가자
 

 

2. for 반복

리스트, 문자열, 딕셔너리 등을 순서대로 꺼내서 반복 처리한다.

딕셔너리는 변수가 두 개(key, value)라서 i 하나로 받으면 X

 
강의 다 듣고 푼 for 반복문 + 조건문 결합 퀴즈



 

3. range() 함수

range(start, stop, step)

주의 : stop에 지정한 숫자는 포함 X

 - range(3): 0부터 시작해서 2까지 (0, 1, 2)

 - range(1, 4): 1부터 시작해서 3까지 (1, 2, 3)

 - range(2, 6, 2): 2부터 시작해서 5까지 2씩 건너뛰기 (2, 4)

 

 

▼ for문, range 함수 코드 예시

# 회원 ID 리스트
user_list = ["user_A", "user_B", "user_C"]

# len(user_list)는 3이니까 range(3) -> 0, 1, 2 순서로 돎
for index in range(len(user_list)):
    print(f"로그인 순서 {index + 1}번 회원: {user_list[index]}")

"""
출력 결과:
로그인 순서 1번 회원: user_A
로그인 순서 2번 회원: user_B
로그인 순서 3번 회원: user_C
"""

 

 

4. while 반복문

조건이 False 인 동안 계속 반복하고, 조건이 True가 되는 순간 멈춘다.

for문이 더 직관적이라 실무에서는 for를 더 자주 쓰는 편.

무한 루프 짤 때는 반드시 break 같은 장치를 달아놔야 한다. 안 그러면 렉 대잔치가 열린다.

break 반복문 즉시 종료
continue 현재 회차 건너뛰고 다음으로
pass 아무것도 안 하고 그냥 통과
# 검사 수치 입력 받아서 정상 범위 확인 — while + break 예시
while True:
    user_input = input("WBC 수치를 입력하세요 (종료: q): ")
    if user_input == 'q':
        break
    wbc = int(user_input)
    if wbc < 4000:
        print("낮음")
    elif wbc <= 10000:
        print("정상")
    else:
        print("높음")

# continue — 이상치 건너뛰고 정상 수치만 처리
wbc_list = [3500, -1, 8000, 99999, 6200]  # -1, 99999는 입력 오류 데이터
for wbc in wbc_list:
    if wbc <= 0 or wbc > 50000:  # 비정상 입력값 스킵
        continue
    print(f"처리 완료: {wbc}")

 

💡 + 5/20 문제 풀어보면서 찾은 내용 ★★★
input() 함수로 입력받은 값은 내가 숫자를 치든 문자를 치든 컴퓨터는 무조건 '문자열(str)'로 인식함
→ 만약 2345를 치면, 숫자 이천삼백사십오가 아니라문자 '2345'로 저장됨.
→→ 그래서 이걸 가지고 사칙연산을 하거나 진짜 숫자로 쓰고 싶다면, int(input())처럼 숫자의 형태로 바꿔줘야 함!!
(어제 글에 추가했던 내용 끌올)

 

[아티클 스터디]

주제 : 데이터 분석가가 갖춰야 할 9가지 역량

 

- 데이터 분석가에게 요구되는 역량은 크게 하드 스킬과 소프트 스킬 두 가지로 나뉜다.

 

< 하드 스킬 > (기업/팀마다 요구사항 다를 수 o)

1. 사용 언어
- 실무에서 데이터 추출 및 간단한 분석 : SQL 사용
- 심화된 분석 : 파이썬 사용(요인 분석, 예측 모델링 등)
- 엑셀을 사용하는 경우도 많긴 함

2. 통계학
- 기술 통계와 추론 통계로 나뉨
- 통계 개념들(ex. 상관관계, 회귀 분석, 인과 관계...)은 데이터 분석 中 탐색적 데이터 분석 단계를 진행할 때 활용
- 기초 통계학은 A/B 테스트에서 많이 활용

3. 도메인 및 비즈니스에 대한 이해
- 도메인에 따라 정의해야 할 문제, 비즈니스 달라짐
- 비즈니스와 프로덕트는 직결되어 있기 때문에 기본적인 비즈니스 지표 및 KPI 성공 지표에 대해 알고 있어야 함

4. 툴을 다루는 역량
- 툴을 활용할 때 데이터 분석에 용이한 데이터 마트를 직접 설계, 자동화하는 방법 습득하는 것이 좋음

5. 업무 자동화와 데이터 엔지니어링
- 데이터 분석가는 다양한 부서의 일회성(Ad-hoc) 분석 요청에 대한 대응, 데이터 정합성 및 퀄리티 확인, 데이터 플랫폼 운영 이슈를 처리해야 할 상황이 있음
- 일회성 분석의 경우 자동화로 해결되고 있는 추세
- but 자동화된 단계에서도 데이터 플랫폼 운영 이슈를 처리하고, 플랫폼을 최적화할 수 있도록 개발자와 소통해야 됨
- 필요한 기능을 기획 및 테스트하는 역할도 여전히 중요
- 최근에는 데이터 마트, 데이터 파이프라인을 만드는 데이터 엔지니어링 역량도 함께 요구되고 있음

< 소프트 스킬 >

: 손보미 튜터님께서 라이브 세션 때도 언급하심. 소프트 스킬 중요하다.
교육을 통해 빠르게 습득이 어려워 프로젝트를 경험하며 관련 역량을 쌓아나가야 함

6. 커뮤니케이션 능력
- 데이터의 언어를 모두가 이해할 수 있는 언어로 바꿀 수 있어야 함
- 전사 데이터 교육 및 스터디를 진행할 수 있음

7. 협업 능력과 태도
- 다양한 직무의 팀원들과 협업 및 커뮤니케이션 해야 하기 때문에 그들이 잘 이해할 수 있는 소통 방식과 태도를 갖추어야 함.(쉽게 설명, 직관적으로 이해가 가능하게 만들어야 함)

8. 문제 정의 및 문제 해결 능력
- 문제를 논리적으로 정의하고 현상에 대한 파악을 토대로 다양한 분석 방법론 시도

9. 보고서 작성
-  누구나 잘 이해할 수 있는 비즈니스 보고서를 작성하는 것 중요
- 분석 결과 토대로 사업화할 수 있는 액션 아이템 구상할 수 있어야 함

 


003

오늘의 시행착오

 

 

ai 퀴즈 겁나 많이 틀림... 리스트 vs 튜플 개념 비교가 좀 어렵다

 

에러만 엄청 뜨다가 결국 풀었다. 근데 이게 정확한 답인지는 모르겠지만 일단 작동은 잘 됐다.

 


 

004

내일 학습할 것

 

  • 에이타니 AI 퀴즈 5문제 아침 루틴 유지
  • 조건문·반복문 복습하고 직접 코드 짜보기
  • 파이썬 종합반 다음 강의 수강