나의 따님들과 함께하고 싶은 코딩여행
— 아빠가 알려주는 for loop의 마법
지난번 글에서 아빠는 너희에게 코딩이란 무엇인지, 왜 배워야 하는지를 이야기했지.
이번엔 진짜 코드를 보여줄게.
“코딩은 어렵다”는 편견을 깨는 순간이 될지도 몰라.
1. 첫 coding (Python)
만일 a는 3이고, b는 5 라면 합계는?
8
만일 합계를 c라고 하면
c=8
코딩으로는 이렇게 해요
너무 간단하죠? 이게 코딩의 순서입니다.
이렇게 쉬운데 코딩을 왜 해요?라고 묻는다면 아빠는 이렇게 답할 거야. 이거 1초 만에 계산 보세요. 후후후.
a=100,000,555,444,333,141,788
b= 897,789,312
c=a*b
c=?
그런데 이 숫자들을 복사해서, comma만 제거하고 다음과 같이 계산하면 1초도 안 걸려요..
그러면 또 질문을 하겠지 엑셀로도 그렇게 하면 금방 계산할 수 있어요.
정답, 하지만 excel과 Python은 계산속도는 물론 그래프의 성능 등 방대한 계산방법 등 차원이 달러요.
2. 엑셀과 코딩은 뭐가 다를까?
엑셀은 셀마다 수식을 넣고, 복사하고, 드래그해서 반복 작업을 하지.
예를 들어, 1부터 10까지 숫자를 세로로 나열하려면 셀에
1을 쓰고, 아래로 드래그해서 10까지 채우면 돼.
하지만 코딩에서는 이렇게 써요. 이 내용은 for loop인데 초보에게는 어려운 내용이지만 이런 게 있다고 알려주는 거예요. 이 내용을 이해한다면 나는 천재다라고 생각해도 돼요. 아빠는 그러지 못했거든요.
for i in range(1, 11):
print(i)
해설을 하자면,
이 코드는 파이썬(Python)이라는 프로그래밍 언어에서 반복문을 만드는 방법이에요. 마치 “1부터 10까지 숫자를 하나씩 꺼내서 뭔가를 해보자!”는 뜻이죠.
for : “반복하겠다”는 뜻이에요. 영어로도 “~동안”이라는 의미죠.
i : 반복할 때마다 바뀌는 숫자를 담는 변수예요. 보통 “인덱스(index)” 또는 “반복 변수(loop variable)”라고 불러요.
range(1, 11) : 숫자 1부터 10까지를 만들어주는 함수예요. 11은 포함되지 않아요! 즉, 1부터 10까지 총 10번 반복돼요. 대부분 언어들이 range(1,10)이라고 하는데, Python은 (1,11) 이리고 해요. 11 미만.
print(i)는 i값을 인쇄해라 의 뜻입니다.
1에서 10까지만 한 개씩 인쇄가 되었어요. 다시 한번 말하지만 반복변수 i는 마치 자동차 경주에서 1번 차부터 10번 차까지 차례로 출발시키는 것과 같아요. 만일 i=5라면, 지금 출발하는 자동차 번호는 5라고 생각하면 이해가 쉬워요!
이게 바로 그 유명한 "for loop"입니다.
“i가 1부터 10까지 반복하면서, 그 값을 출력해 줘”라고 기억해요.
그럼 Excek과 뭐가 다른 걸까?
엑셀은 눈으로 보면서 하나하나 작업해야 해. 가령 위에서 예시한 1에서 10을 보여주는 것은 너무 쉬운데, 만일 1에서 백만까지를 보여준다면? 아마도 천도 못 가서 마우스를 잡은 손에 힘이 풀려서 다시 하고, 또 다시 하고 해야 할걸.
그런데 코딩은 숫자만 수정해서 한 줄로 백만개 아니 무한대의 작업을 자동으로 처리할 수 있어.
간단하죠? 그런데 해답이 너무 길어서 실제로 실행시키지는 않았어요.
Run (런) → "코드를 실행하다"라는 뜻으로 가장 널리 쓰여요. 예: “이 코드를 run 해볼게요.”
Execute (이그제 큐트) → 좀 더 기술적인 표현이에요. 컴퓨터가 명령을 실행한다는 의미. 예: “이 명령어를 execute 하면 결과가 나와요.”
추가로, 예를 들어, 1부터 100까지의 숫자 중에서 홀수만 골라내고 싶다면?
for i in range(1, 101):
if i % 2 == 1:
print(i)
1부터 100까지의 숫자 중에서 짝수만 골라내고 싶다면?
for i in range(1, 101):
if i % 2 == 0:
print(i)
"if i % 2 == 0"에서 %는 나누기, ==는 equal 그래서 만일 2로 나눈 나머지값이 0이면 짝수,
만일 2로 나눈 나머지값이 1이면 홀수가 된다.
코딩을 배우면 단순히 컴퓨터를 다루는 게 아니라, 문제를 해결하는 사고방식을 배우게 돼.
“어떻게 하면 더 효율적으로 반복할 수 있을까?”
“조건을 어떻게 설정하면 원하는 결과를 얻을 수 있을까?”
이런 질문을 스스로 던지고, 답을 찾아가는 과정이 바로 코딩이야.
인사도 사람에 따라 "안뇽","잘지내지?", "안녕하세요", "좋은 아침"하듯이 컴퓨터와 대화하는 방법도 다양해요.
오늘은 코딩이 뭔 가인 지를 보여주느라 어려운 사례를 들은 것이고, 여러분은 다시 1+5 이런 기초부터 시작할 거니까, 너무 걱정도 마시고 재미있게 따라만 오면 돼요