PYTHON

파이썬 기초 복습 — print부터 함수까지 12문제와 실습 6개

PANCO_IT
#파이썬#Python#기초#복습#문제#퀴즈

클립보드에 놓인 체크리스트와 펜 — 복습 이미지

이미지 출처: Pexels · Pexels License (https://www.pexels.com/photo/8580716/)

열 편을 지나왔습니다. 새 문법은 이번 편에 없습니다. 대신 지나온 것을 문제로 다시 만납니다.

읽어서 아는 것과 손으로 되는 것은 다릅니다. 저도 range(5)가 5를 포함하지 않는다는 문장을 여러 번 읽고도, 실제로 숫자가 4에서 끊기는 걸 보고 나서야 몸에 붙었습니다. 그래서 이 편은 두 단계입니다. 먼저 개념을 퀴즈로 훑고, 그다음 실제로 고쳐서 실행하는 문제를 풉니다.

열 편에서 무엇을 지나왔을까요

핵심대표 함정
1파이썬이 어떤 언어인가이름은 뱀이 아니라 코미디 프로에서
2print·주석·따옴표Print는 안 됩니다 — 대소문자를 가립니다
3변수와 자료형·type()=는 "같다"가 아니라 "넣는다"
4input()과 형변환받은 값은 무조건 문자열
5연산자 /·//·%10 / 3은 3이 아니라 3.33…
6if·elif·else들여쓰기 한 칸이 곧 문법
7리스트·인덱스·슬라이싱번호는 0부터, 슬라이싱 끝은 빠집니다
8forrangerange(5)는 0~4
9while·break·continue조건을 갱신하지 않으면 안 멈춥니다
10함수 def·returnreturn 없으면 None

PYTHON1 열 편을 말 걸기·값 다루기·길 고르기·묶어 두기 네 묶음으로 나눈 지도

네 덩어리로 묶어 두면 다시 찾기가 쉽습니다. 한 묶음이 흔들리면 그 묶음만 다시 보면 됩니다.

열 편을 하나씩 기억하려 들면 오히려 안 남습니다. 위처럼 말 걸기 → 값 다루기 → 길 고르기 → 묶어 두기 네 덩어리로 잡아 두면, 막힐 때 어디로 돌아갈지가 바로 나옵니다.

여기서 여섯 번 넘어집니다

시즌 내내 되풀이해 나온 함정이 여섯 개입니다. 하나로 모아 두었습니다.

여섯 함정 — input 문자열, 들여쓰기, 인덱스 0부터, range 끝 제외, while 갱신, return 없으면 None

왼쪽이 실제로 쓰는 코드, 오른쪽이 기대와 실제 결과입니다.

이 여섯 줄만 몸에 붙으면 PYTHON1은 충분합니다.

입력은 문자열 · 콜론 뒤엔 들여쓰기 · 번호는 0부터 · range는 끝 제외 · while은 갱신 · return 없으면 None

1단계 — 개념 빠른 점검

먼저 개념부터 OX·4지선다 열두 문제로 확인합니다. 해설에 몇 편 내용인지 적어 두었으니, 틀린 문제의 편으로 돌아가시면 됩니다.

미니 퀴즈

OX 5문제 + 4지선다 7문제

2단계 — 직접 풀어 보기

이제 손으로 풉니다. 각 문제의 실행창에서 코드를 고친 뒤 Run 을 누르면 결과가 나옵니다. 화면이 좁으면 크게 보기로 넓혀서 푸시면 됩니다. 정답은 문제 아래 정답 보기를 눌러야 펼쳐집니다.

문제 1. 출력을 먼저 예측하기

아래 세 줄이 무엇을 찍을지 종이에 적어 본 뒤 실행해 맞혀 보세요.

문제 1
print(7 + 3)
print("7" + "3")
print(7 / 2)

📱 코드 실행(실습)은 태블릿·PC에서 이용할 수 있어요. 모바일에서는 위 코드를 눈으로 따라가며 확인하세요.

정답 보기

10, 73, 3.5 입니다.

숫자끼리 +는 더하기, 문자열끼리 +는 이어 붙이기입니다. 그리고 /는 나머지를 버리지 않으므로 7 / 2는 3이 아니라 3.5입니다. 몫만 필요하면 //를 씁니다.

문제 2. 1부터 5까지 나오게 고치기

지금은 0부터 4까지 나옵니다. range 한 곳만 고쳐 1 2 3 4 5가 나오게 해 보세요.

문제 2
for i in range(5):
  print(i)

📱 코드 실행(실습)은 태블릿·PC에서 이용할 수 있어요. 모바일에서는 위 코드를 눈으로 따라가며 확인하세요.

정답 보기

for i in range(1, 6): 로 고칩니다.

시작을 1로 주고, 끝은 빠지므로 5까지 받으려면 6을 적습니다. range(1, 5)로 적으면 4에서 끊깁니다.

문제 3. 들여쓰기 한 줄 고치기

실행하면 IndentationError가 납니다. 한 줄만 고쳐 보세요.

문제 3
score = 85
if score >= 60:
print("합격")

📱 코드 실행(실습)은 태블릿·PC에서 이용할 수 있어요. 모바일에서는 위 코드를 눈으로 따라가며 확인하세요.

정답 보기

print("합격") 앞에 공백 네 칸을 넣습니다.

콜론(:)으로 끝난 줄 다음은 반드시 들여씁니다. 들여쓴 부분까지가 if에 딸린 몸입니다.

문제 4. 마지막 값만 꺼내기

nums[3]IndexError가 납니다. 마지막 값 40이 나오게 고쳐 보세요.

문제 4
nums = [10, 20, 30, 40]
print(nums[4])

📱 코드 실행(실습)은 태블릿·PC에서 이용할 수 있어요. 모바일에서는 위 코드를 눈으로 따라가며 확인하세요.

정답 보기

print(nums[3]) 또는 print(nums[-1]) 입니다.

값이 네 개면 번호는 0, 1, 2, 3입니다. 개수와 마지막 번호가 하나 차이 난다는 것이 인덱스의 핵심입니다. 개수를 모를 때는 -1이 안전합니다.

문제 5. 멈추게 만들기

이대로 실행하면 0이 끝없이 찍힙니다. 한 줄을 더해 0 1 2에서 멈추게 해 보세요.

문제 5
n = 0
while n < 3:
  print(n)

📱 코드 실행(실습)은 태블릿·PC에서 이용할 수 있어요. 모바일에서는 위 코드를 눈으로 따라가며 확인하세요.

정답 보기

print(n) 아래에 n += 1 을 넣습니다.

while은 조건이 거짓이 될 때 멈춥니다. 조건에 쓰인 값을 몸 안에서 바꿔 주지 않으면 조건이 영원히 참이라 멈출 수가 없습니다.

문제 6. None이 나오지 않게 고치기

totalNone이 담깁니다. 함수 쪽을 고쳐 7이 나오게 해 보세요.

문제 6
def add(a, b):
  print(a + b)

total = add(3, 4)
print("합계는", total)

📱 코드 실행(실습)은 태블릿·PC에서 이용할 수 있어요. 모바일에서는 위 코드를 눈으로 따라가며 확인하세요.

정답 보기

함수 안의 print(a + b)return a + b 로 바꿉니다.

print는 화면에 보여 줄 뿐이고, 값을 호출한 자리로 돌려보내는 것은 return입니다. 돌려줄 것이 없는 함수는 None을 돌려줍니다.

여섯 줄만 남기고 다음 시즌으로

여섯 문제 중 몇 개를 한 번에 푸셨는지 세어 보시면 됩니다. 넷 이상이면 PYTHON1은 통과입니다. 두 개 이하라면 아래 표에서 틀린 쪽 편으로 돌아가시는 편이 빠릅니다.

틀린 문제돌아갈 편
1번3편 변수·자료형, 5편 연산자
2번8편 for와 range
3번6편 if 조건문
4번7편 리스트
5번9편 while
6번10편 함수

기억할 것은 결국 여섯 줄입니다. 입력은 문자열, 콜론 뒤엔 들여쓰기, 번호는 0부터, range는 끝 제외, while은 갱신, return 없으면 None. 나머지는 필요할 때 찾아 쓰면 됩니다.

다음 시즌 PYTHON2는 실용 기초입니다. 문자열을 자르고 붙이는 메서드, 이름으로 값을 찾는 딕셔너리, 오류가 나도 프로그램이 죽지 않게 하는 try-except를 다룹니다. 리스트에서 한 걸음 더 나가는 자리입니다.

예제 코드는 강사 개인 GitHub 저장소의 실습 코드를 왕초보 눈높이로 다듬어 쓰고 있습니다.

참고 자료

PANCO_IT

IT 지식을 정리하는 개발자

관련 글