12월, 2025의 게시물 표시
이미지
Day 17 예외 처리: 에러가 나도 당황하지 않는 법 프로그램의 멈춤을 방지하는 든든한 보호막, try-except 안녕하세요! 16일차에서 파일을 읽어오는 법을 배웠죠? 그런데 만약 읽으려는 파일이 없다면 어떻게 될까요? 파이썬은 즉시 빨간색 에러 메시지를 띄우며 작동을 멈춰버립니다. 하지만 예외 처리 를 배우면 에러 상황을 우아하게 넘길 수 있습니다. 1. try-except: "일단 해보고, 안되면 대처해!" 가장 기본적인 안전장치 구조입니다. try 블록에는 원래 하려던 코드를, except 에는 에러가 났을 때 할 행동을 적습니다. 실행 (try) ➡️ 에러 발생 시 대처 (except) ➡️ 계속 실행 try: num = int(input("숫자를 입력하세요: ")) print(f"입력하신 숫자는 {num}입니다.") except ValueError: print("⚠️ 오류: 숫자가 아닌 글자가 입력되었습니다!") print("프로그램이 종료되지 않고 계속 실행됩니다.") 2. 에러의 종류에 따라 다르게 대처하기 파이썬에는 다양한 에러(Exception)가 있습니다. 어떤 에러가 났느냐에 따라 다른 안내 메시지를 줄 수 있습니다. try: a = [10, 20, 30] index = int(input("인덱스 번호를 입력하세요: ")) print(a[index] / 0) # 인덱스 에러와 0으로 나누기 에러 가능성! except IndexError: print("목록...

파이썬 함수(Function): 나만의 마법 주문 만들기

이미지
Day 11 파이썬 함수(Function): 나만의 마법 주문 만들기 똑같은 코드 반복은 이제 그만! 효율적인 코드의 핵심 안녕하세요! 어제까지 우리는 데이터를 담고 관리하는 다양한 바구니(자료구조)를 배웠습니다. 하지만 프로그램이 커질수록 같은 작업을 반복해서 적어야 하는 순간이 옵니다. 오늘 배울 함수(Function) 는 반복되는 코드 뭉치를 하나로 묶어, 필요할 때마다 이름만 불러서 실행하는 아주 편리한 도구입니다. 1. 함수란 무엇인가요? 함수는 마치 '믹서기' 와 같습니다. 과일(입력값)을 넣으면, 믹서기가 갈아주는 동작(함수 내용)을 거쳐, 주스(결과값)가 나옵니다. 우리는 믹서기 내부가 어떻게 도는지 매번 고민할 필요 없이 '버튼(함수 호출)'만 누르면 되죠! 함수의 3요소: 1. 매개변수(Parameter): 함수에 전달하는 입력값입니다. 2. 본문(Body): 실행할 코드들이 들어있는 영역입니다. 3. 반환값(Return Value): 함수가 작업을 마친 뒤 돌려주는 결과입니다. # 함수 정의하기 (def: define의 약자) def greet(name): print(f"안녕하세요, {name}님! 오늘도 코딩 열공하세요.") # 함수 호출하기 (이름 불러주기) greet("철수") greet("영희") 2. 값을 받고, 결과 돌려주기 (Return) 함수가 단순히 화면에 출력만 하는 게 아니라, 계산된 결과를 나에게 다시 전달하게 하려면 return 을 사용합니다. # 두 수를 더해 결과를 돌려주는 함수 def add_numbers(a, b): result = a + b ...

딕셔너리(Dictionary): 키와 값으로 연결된 데이터 사전

이미지
Day 10 딕셔너리(Dictionary): 키와 값으로 연결된 데이터 사전 이름표(Key)를 붙여 데이터를 효율적으로 찾아보세요! 안녕하세요! 9일차까지 우리는 리스트, 튜플, 집합을 배웠습니다. 이들은 모두 '값'들의 모임이었죠. 하지만 데이터가 많아지면 "세 번째 데이터가 뭐였지?"라고 인덱스를 기억하기 힘들어집니다. 오늘 배울 딕셔너리(Dictionary) 는 인덱스 대신 내가 직접 정한 '이름표(Key)' 를 이용해 값을 바로 찾아낼 수 있는 아주 똑똑한 자료구조입니다. 1. 딕셔너리란? {Key : Value} 실제 사전에서 'Apple'이라는 단어를 찾으면 그 뜻이 나오듯, 파이썬 딕셔너리도 Key(키) 를 통해 Value(값) 를 얻습니다. 딕셔너리의 규칙: 1. { } 중괄호를 사용합니다. 2. 키 : 값 형태로 데이터를 저장하며, 쉼표로 구분합니다. 3. 키(Key)는 중복될 수 없습니다. (이름표는 유일해야 하니까요!) # 딕셔너리 만들기 user = { "name": "홍길동", "age": 25, "email": "hong@example.com", "is_admin": False } # 데이터 접근하기 print(user["name"]) # 결과: 홍길동 2. 내 마음대로 데이터 조작하기 딕셔너리는 리스트처럼 내용을 자유롭게 바꿀 수 있습니다. # 데이터 추가 및 수정 user["hobby"] = "코딩" # 새로운 키...

튜플(Tuple)과 집합(Set): 리스트의 친척들을 소개합니다!!!

이미지
Day 9 튜플(Tuple)과 집합(Set): 리스트의 친척들을 소개합니다 데이터를 더 안전하게, 혹은 더 유니크하게 다루는 방법 안녕하세요! 8일차에 문자열 함수로 텍스트 요리를 즐기셨나요? 오늘은 파이썬의 핵심 자료구조 3형제 중 리스트를 제외한 나머지 두 명, 튜플 과 집합 을 만나볼 시간입니다. 겉보기엔 리스트와 비슷해 보이지만, 각자 가진 초능력이 다르답니다! 1. 변하지 않는 가치, 튜플(Tuple) 튜플은 리스트와 거의 똑같지만, 딱 하나 결정적인 차이가 있습니다. "한 번 만들면 절대 내용을 바꿀 수 없다(Immutable)" 는 점이죠. 그래서 데이터의 '안전'이 최우선일 때 사용합니다. 리스트는 소괄호 ( ) 를 사용합니다. 데이터를 수정하려고 하면 에러가 발생하여 데이터를 보호합니다. 리스트보다 속도가 조금 더 빠릅니다. # 튜플 생성 및 특징 my_tuple = (1, 2, 3) location = (37.5665, 126.9780) # 좌표처럼 변하면 안 되는 값에 딱! # my_tuple[0] = 10 2. 중복은 거부한다! 집합(Set) 수학 시간의 집합을 떠올려보세요. 파이썬의 집합은 중복을 허용하지 않고 순서가 없는 바구니입니다. 집합의 주요 특징: 1. { } 중괄호를 사용합니다. 2. 리스트에 중복된 값이 아무리 많아도 집합으로 만들면 하나만 남습니다. 3. 순서가 없어서 인덱싱( [0] 등)을 쓸 수 없습니다. # 중복 제거 마법 fruits = {"apple", "banana", "apple", "o...

파이썬 문자열 함수: 텍스트를 자유자재로 요리하기

이미지
Day 8 파이썬 문자열 함수: 텍스트를 자유자재로 요리하기 검색, 수정, 분리까지! 실무 데이터 처리의 80%를 차지하는 문자열 스킬 축하합니다! 드디어 2주차에 접어들었습니다. 1주차에서 프로그래밍의 뼈대를 세웠다면, 이제는 그 안을 채울 데이터 를 다루는 법을 배울 차례입니다. 그 첫 번째 주인공은 가장 친근하면서도 활용도가 높은 '문자열(String)'입니다. 1. 문자열 함수가 왜 필요한가요? 우리가 인터넷에서 수집하는 대부분의 데이터(이름, 주소, 뉴스 기사 등)는 텍스트 형태입니다. 이 데이터에는 불필요한 공백이 섞여 있거나, 형식이 제각각인 경우가 많죠. 파이썬의 문자열 함수를 이용하면 이런 데이터들을 1초 만에 깔끔하게 정돈할 수 있습니다. 2. 가장 많이 쓰이는 문자열 함수 TOP 4 ① 수정하기: replace()와 변환 함수 특정 글자를 바꾸거나 대소문자를 통일할 때 사용합니다. text = "Python is Easy" print(text.replace("Easy", "Powerful")) # 글자 바꾸기 print(text.upper()) # 전부 대문자로 print(text.lower()) # 전부 소문자로 ② 공백 제거: strip() 사용자로부터 입력을 받을 때 실수로 들어간 양 끝의 공백을 제거합니다. 데이터 정제 시 필수입니다! user_input = " python123 " print(user_input.strip()) # "python123" (공백 삭제) ③ 분리와 결합: split() & join() 가장 강력한 듀오입니다. 문장을 단어 리스트로 쪼개거나, 리스트를 다시 문장으로 합칩니다. # ...

파이썬 while문: 조건이 맞을 때까지 멈추지 않는다!

이미지
Day 7 파이썬 while문: 조건이 맞을 때까지 멈추지 않는다! 무한 루프의 위험부터 break/continue 제어권까지 완벽 가이드 안녕하세요! 6일차에 배운 for 문이 '정해진 바구니를 비우는 과정'이었다면, 오늘 배울 while문 은 '특정 조건이 깨질 때까지 계속하는 과정'입니다. 마치 "배가 부를 때까지(조건) 계속 먹어라(반복)"와 같죠! 1. while문의 기본 구조: ~하는 동안 계속! while 뒤에 오는 조건식이 True(참) 인 동안, 아래에 들여쓰기 된 코드들이 반복해서 실행됩니다. # 5번 찍어 안 넘어가는 나무 없다! tree_hit = 0 while tree_hit < 5: tree_hit += 1 print(f"나무를 {tree_hit}번 찍었습니다.") print("나무가 넘어갑니다! 🌲") 핵심 주의! while 문 안에서 조건을 변화시키는 코드(예: tree_hit += 1 )가 없다면 프로그램은 영원히 끝나지 않는 무한 루프 에 빠지게 됩니다. 2. 강제 종료의 기술: break 때로는 while True: 를 사용해 의도적으로 무한 루프를 만들고, 특정 상황에서 break 를 써서 탈출하기도 합니다. 자판기나 로그인 프로그램에서 자주 쓰이는 방식이죠. coffee = 3 while True: print("커피를 판매합니다.") coffee -= 1 print(f"남은 커피: {coffee}개") if coffee == 0: print("커피가 다 떨어졌습니다. 판매를 중지합니다.") br...

반복문 1 (for문) (리스트와 함께 사용하는 법)

이미지
Day 6 파이썬 for문: 단순 반복에서 탈출하는 마법 리스트와 반복문의 환상적인 궁합으로 노가다(?) 끝내기 안녕하세요! 어제 배운 조건문으로 프로그램이 "판단"을 하기 시작했다면, 오늘은 그 판단을 100번, 1000번 대신 해주는 반복문(for) 을 배워보겠습니다. 컴퓨터가 인간보다 잘하는 유일한 것, 바로 '지치지 않는 반복'을 활용해 봅시다! 1. for문의 기본 구조: 하나씩 꺼내기 파이썬의 for 문은 "바구니(리스트)에 있는 알맹이를 하나씩 순서대로 꺼내서 다 쓸 때까지 반복해!"라고 이해하면 쉽습니다. # 기본 구조 fruits = ["사과", "바나나", "포도"] for fruit in fruits: print(fruit + "가(이) 맛있어요!") 핵심 로직 1. fruits 리스트의 첫 번째 요소인 "사과"가 변수 fruit 에 담깁니다. 2. print 문을 실행합니다. 3. 다음 요소인 "바나나"가 담기고 다시 실행... 마지막 요소까지 반복합니다. 2. 숫자 범위로 반복하기: range() 함수 꼭 리스트가 없어도 내가 원하는 횟수만큼 반복할 수 있습니다. 이때 range() 함수가 단짝 친구로 등장합니다. # 0부터 4까지 5번 반복 for i in range(5): print(i, "번 반복 중...") # 1부터 10까지 반복 (끝 숫자는 포함 안 됨!) for j in range(1, 11): print(j, end=" ") # 결과: 1 2 3 4 5 6 7...

조건문(if, elif, else) 배우기

이미지
Day 5 파이썬 조건문: 프로그램에게 '판단력' 선물하기 if, elif, else로 똑똑한 프로그램의 로직을 설계하는 방법 안녕하세요! 벌써 5일차입니다. 지난 시간에는 데이터를 묶는 리스트를 배웠죠? 오늘은 그 데이터를 보고 프로그램이 "만약 ~라면 A를 하고, 아니면 B를 해!" 라고 스스로 결정하게 만드는 법을 배워보겠습니다. 1. 조건문(if)의 구조: 만약에 말야... 파이썬의 조건문은 매우 직관적입니다. 하지만 가장 중요한 두 가지 약속 이 있어요. 바로 콜론( : )과 들여쓰기(Indentation)입니다. # 기본 구조 weather = "비" if weather == "비": print("우산을 챙기세요!") # 조건이 참(True)일 때만 실행 else: print("날씨가 맑네요.") # 조건이 거짓(False)일 때 실행 2. 여러 상황 대응하기: elif (Else If) 단순히 '예/아니오'가 아니라 여러 선택지가 있을 때는 elif 를 사용합니다. 개수 제한 없이 얼마든지 추가할 수 있죠! 주의! if 는 한 번만, elif 는 여러 번, else 는 마지막에 한 번만 쓸 수 있습니다. score = 85 if score >= 90: print("A학점입니다!") elif score >= 80: print("B학점입니다!") elif score >= 70: print("C학점입니다!") else: print("재수강 대상입니다...ㅠ") 3. 응용: 리스트 안에 값이...

리스트(List) 기초 (인덱싱, 슬라이싱, 값 추가/삭제)

이미지
Day 4 파이썬 리스트(List): 데이터의 '기차'를 만들어보자 여러 개의 데이터를 하나로 묶어 관리하는 가장 강력한 도구, 리스트 정복하기 안녕하세요! 어제 배운 연산자로 숫자를 계산하는 법을 익혔다면, 오늘은 그 소중한 데이터들을 흩어지지 않게 한곳에 모으는 법을 배울 차례입니다. 변수 100개를 만드는 대신 리스트 하나 면 충분합니다! 1. 리스트(List): 여러 값을 하나로 묶는 바구니 리스트는 대괄호 [ ] 를 사용하며, 그 안에 쉼표 , 로 값들을 구분해서 넣습니다. 숫자, 문자열, 심지어 다른 리스트까지도 담을 수 있는 만능 바구니죠. # 리스트 만들기 예시 fruits = ["사과", "바나나", "포도", "딸기"] mixed = [1, "Hello", True, [1, 2, 3]] # 다양한 타입 가능! empty = [] # 비어있는 리스트도 가능 2. 위치 찾기: 인덱싱과 슬라이싱 리스트에서 가장 중요한 점은 "숫자를 0부터 센다" 는 것입니다. 이를 인덱싱이라고 합니다. 필독! 파이썬은 첫 번째 항목을 1번이 아닌 0번 이라고 부릅니다. 마지막 항목은 -1 로도 부를 수 있어요 (역순 찾기). 슬라이싱(Slicing) - "여기서부터 여기까지!" 리스트의 일부분을 잘라낼 때는 리스트[시작:끝] 형태를 사용합니다. 이때 끝 인덱스는 포함되지 않는다 는 점을 주의하세요! nums = [0, 10, 20, 30, 40, 50] print(nums[0]) # 결과: 0 (첫 번째) print(nums[-1]) # 결과: 50 (마지막) print(nums[1:4]...

계산의 핵심, 연산자 완벽 정리

이미지
Day 3 파이썬 연산자 마스터하기: 계산기 그 이상의 능력 기초 산술부터 논리적인 판단까지, 파이썬의 핵심 엔진을 배워봅시다. 안녕하세요! 지난 2일차에서는 데이터를 담는 그릇인 '변수'를 배웠습니다. 오늘은 그 변수들을 가지고 실제로 요리(연산)를 해볼 시간입니다. 파이썬의 연산자는 단순한 계산기를 넘어, 프로그램의 흐름을 결정하는 아주 중요한 역할을 합니다. 1. 산술 연산자: 수학보다 쉬운 계산 파이썬은 아주 훌륭한 계산기입니다. 우리가 아는 사칙연산 외에 프로그래밍에서 정말 자주 쓰이는 특수 연산자들이 있습니다. Tip: / 는 항상 실수 결과, // 는 몫(정수), % 는 나머지를 반환합니다. // (몫 연산자): 나눗셈 후 소수점을 버리고 '정수' 몫만 남깁니다. % (나머지 연산자): 가장 중요합니다! 홀수/짝수 판별이나 배수 검사에 필수적입니다. ** (거듭제곱): 2 ** 10 처럼 간단히 제곱을 구할 수 있습니다. # 산술 연산자 활용 예시 money = 10000 price = 3000 print("사과 개수:", money // price) # 결과: 3 print("남은 잔돈:", money % price) # 결과: 1000 print("2의 10승:", 2 ** 10) # 결과: 1024 2. 비교 연산자: 예(True) 아니오(False) 비교 연산자는 결과값으로 항상 Boolean(True 또는 False) 을 반환합니다. 나중에 배울 '조건문'의 핵심 재료가 됩니다. 주의! = 는 변수에 값을 넣는 대입 이고, == 가 양쪽...

초보 파이썬 따라하기: 5분 안에 만드는 성적계산기 튜토리얼(코드 예제 포함, 초보자용 가이드형)

혹시 이런 고민 해보신 적 있으신가요? 파이썬으로 뭔가 재미있고 실용적인 것을 만들어 보고 싶은데, 어디서부터 시작해야 할지 막막한 날들 말이에요. 저도 처음 배우던 그 시절이 그랬죠. 숫자 데이터를 다루고, 결과를 깔끔하게 보여주고 싶지만 복잡한 알고리즘에 머리만 많아지는 느낌. 이 글은 그런 초심자의 갈증을 해소하기 위한 작은 다리 역할을 하고자 시작했습니다. 이 글을 다 따라오면, 간단한 성적계산기를 파이썬으로 완성하는 실전 프로젝트를 갖게 됩니다. 입력 처리부터 평균 계산, 학점 매핑까지 하나하나 차근차근 따라하면 실제로 바로 복사해 실행할 수 있는 코드도 얻을 수 있어요. 끝까지 따라오면 “나도 작은 프로젝트를 만들어낼 수 있구나”라는 자신감이 생길 겁니다. 또한 확장 포인트도 함께 제시해서 나중에 더 멋진 기능으로 발전시킬 수 있는 길이 열리죠. 요즘 보면 데이터 중심의 간단한 도구를 직접 만드는 사람이 늘어나고 있어요. 기업에서의 파이썬 활용도 점점 더 다양한 포맷으로 확장되고 있고, 학점 계산 같은 실용 예제 하나도 초보에겐 훌륭한 진입점이 됩니다. 이 글은 그런 흐름 속에서 초보자가 겪는 흔한 난관—입력 처리의 번거로움, 평균과 학점의 매핑 로직, 그리고 결과의 깔끔한 포맷—을 한꺼번에 해결하는 데 초점을 맞췄습니다. 제가 제일 중점을 둔 부분은 바로 “따라 하기 쉽고, 바로 실행 가능하며, 필요하면 확장할 수 있는 기본 골격”을 만드는 것입니다. 이 글을 읽는 여러분이 지금 바로 코드를 복사해 실행해 보길 바래요. 결과가 화면에 나타나고, 작은 개선점까지 적용하는 과정에서 배움의 맛을 느낄 수 있을 겁니다. 그리고 이 글을 통해 얻는 가장 큰 선물은 바로 “실전 감각”입니다. 일반적인 이론 대신, 실제로 작동하는 코드와 함께 생각의 흐름까지 체득하는 것. 지금 바로 시작해볼까요? 이 글에서 다룰 내용 문제 정의와 목표: 성...

이 블로그의 인기 게시물

초보 파이썬 따라하기: 7가지 실전 프로젝트로 매일 코딩 습관 만들기

조건문(if, elif, else) 배우기

초보자를 위한 Step-by-Step: 리스트와 인덱싱으로 값을 추가/삭제해 Python 기초 잡기