파이썬 기초 문법을 총동원하여 진짜 프로그램을 만들어 봅시다!

이미지
Day 14 2주차 프로젝트: Up-Down 숫자 맞추기 게임 파이썬 기초 문법을 총동원하여 진짜 프로그램을 만들어 봅시다! 드디어 2주차의 마지막 날입니다! 지난 14일 동안 변수부터 내장 함수까지 쉼 없이 달려오셨는데요. 오늘은 이 모든 개념을 하나로 엮어 '숫자 맞추기 게임' 을 직접 제작해 보겠습니다. 코드를 한 줄씩 따라 치는 것에 그치지 않고, 각 로직이 왜 필요한지 고민하며 완성해 보세요! 1. 게임 설계도 그리기 무작정 코딩을 시작하기 전, 프로그램이 어떻게 돌아갈지 머릿속으로 그려보는 것이 중요합니다. 게임 규칙: 1. 컴퓨터는 1~100 사이의 랜덤한 숫자 를 하나 뽑습니다. 2. 사용자는 숫자를 입력합니다. 3. 정답보다 낮으면 "Up!" , 높으면 "Down!" 을 외칩니다. 4. 정답을 맞히면 총 시도 횟수 를 보여주며 종료합니다. 2. 준비물: 랜덤 숫자 생성하기 컴퓨터가 매번 다른 숫자를 뽑게 하려면 파이썬의 random 모듈이 필요합니다. import random # 랜덤 기능을 가져옵니다. # 1부터 100 사이의 정수 하나를 뽑아 정답으로 저장 answer = random.randint(1, 100) 3. 메인 코드 작성 이제 while 루프와 if 조건문을 조합하여 게임을 완성해 봅시다. import random def play_game(): answer = random.randint(1, 100) attempts = 0 # 시도 횟수 print("--- 숫자 맞추기 게임을 시작합니다 (1~100) ---") while T...

파이썬 내장 함수: 이미 준비된 보물 상자 열기

Day 13

파이썬 내장 함수: 이미 준비된 보물 상자 열기

직접 만들지 않아도 파이썬이 기본으로 제공하는 강력한 함수들

안녕하세요! 어제까지 우리는 def를 이용해 직접 함수를 만드는 법을 배웠습니다. 하지만 파이썬은 우리가 자주 쓸 법한 기능들을 이미 **'내장 함수(Built-in Functions)'**라는 이름으로 준비해 두었습니다.

오늘 이 보물 상자를 잘 익혀두면, 10줄짜리 코드를 단 1줄로 줄이는 마법을 부릴 수 있게 됩니다!

1. 데이터의 통계를 한눈에! 숫자 관련 함수

리스트나 튜플에 담긴 숫자 데이터들을 순식간에 계산해 줍니다.

nums = [10, 20, 30, 40, 50]

print(sum(nums))  # 합계: 150
print(max(nums))  # 최댓값: 50
print(min(nums))  # 최솟값: 10
print(abs(-5))    # 절대값: 5
print(round(3.1415, 2)) # 반올림(소수점 2자리): 3.14

2. 데이터를 보기 좋게 정돈하기

데이터의 개수를 세거나 순서를 뒤바꿀 때 유용합니다.

fruits = ["apple", "banana", "cherry"]

print(len(fruits))    # 개수: 3
print(sorted(fruits)) # 오름차순 정렬: ['apple', 'banana', 'cherry']
print(list(reversed(fruits))) # 순서 뒤집기

3. 실무 활용도 200%! enumerate와 zip

반복문(for문)을 돌릴 때 인덱스 번호가 필요하거나, 두 개의 리스트를 짝지어야 할 때 사용합니다.

enumerate: 순서(index)와 값을 동시에 반환합니다.
zip: 여러 개의 리스트를 같은 인덱스끼리 묶어줍니다.
# enumerate 예시
names = ["철수", "영희", "민수"]
for idx, name in enumerate(names):
    print(f"{idx+1}번 학생: {name}")

# zip 예시
scores = [90, 85, 100]
for name, score in zip(names, scores):
    print(f"{name}의 점수는 {score}점")

💡 13일차 궁금증 해결 (Q&A)

Q1. sort()sorted()는 뭐가 다른가요?

A1. 아주 중요한 차이입니다! 리스트.sort()는 원본 리스트 자체를 정렬해서 바꿔버리지만, sorted(리스트)는 원본은 그대로 두고 **정렬된 새로운 리스트**를 만들어 돌려줍니다. 원본을 유지해야 한다면 sorted()를 쓰세요!

Q2. 내장 함수의 종류를 다 외워야 하나요?

A2. 절대 아닙니다! 자주 쓰는 10~20개 정도만 눈에 익혀두시고, 필요할 때마다 구글이나 공식 문서를 찾아보는 것이 훨씬 효율적입니다. 코딩은 암기 과목이 아니라 '검색 활용 능력'이 더 중요하니까요.

Q3. zip()으로 묶는 리스트들의 길이가 다르면 어떻게 되나요?

A3. 파이썬의 zip()은 가장 짧은 리스트의 길이에 맞춰서 묶어주고 나머지는 버립니다. 데이터가 유실될 수 있으니 가급적 길이를 맞춰주는 것이 좋습니다.

오늘의 미션 🚩

"성적표 자동 생성기"
1. 과목명 리스트: ['국어', '영어', '수학']
2. 점수 리스트: [80, 95, 70]
3. zip을 사용해 "OO 과목은 OO점입니다"를 출력하고,
4. 전체 과목의 평균 점수를 내장 함수로 계산해 보세요!

내장 함수라는 든든한 무기를 장착하신 여러분, 이제 코딩이 훨씬 쉬워질 거예요!
내일은 2주차의 마지막, 14일차: [중간 점검] 숫자 맞추기 게임 만들기로 실습을 진행하겠습니다. 💙

참고 자료: 파이썬 공식 문서 - 모든 내장 함수 목록

댓글

이 블로그의 인기 게시물

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

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

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