왕초보에게 전하는 for loop 예제편
안녕하세요! 코딩의 세계에 오신 것을 환영합니다.
코딩을 하다 보면 귀찮은 반복 작업을 만나게 됩니다. 예를 들어, 여러분이 "고양이", "강아지", "햄스터", "앵무새", "거북이" 이렇게 5마리의 동물 친구들을 키우고 있다고 상상해 볼까요?
아침마다 이 친구들에게 전부 "안녕!" 하고 인사를 하고 싶어요.
코딩으로 이걸 하려면 어떻게 해야 할까요?
print("고양이, 안녕!")
print("강아지, 안녕!")
print("햄스터, 안녕!")
print("앵무새, 안녕!")
print("거북이, 안녕!")
이렇게 5줄을 쓰면 됩니다. 간단하죠?
그런데... 만약 동물 친구들이 100명 (마리?) 라면 어떨까요? "안녕!"이라는 코드를 100줄이나 써야 할까요? 상상만 해도 팔과 머리가 아픕니다.
이럴 때 사용하는 마법 주문이 바로 루프(loop)
즉
반복문
입니다.
루프는 "여기 이 리스트(목록)에 있는 것들을 하나씩 꺼내서, 이 작업을 전부 반복해 줘!"라고 컴퓨터에게 시키는 명령어입니다.
말로 풀면 조금 복잡해 보이지만, 코드를 보면 아주 간단합니다.
1. 먼저, 우리 동물 친구들 목록(리스트)을 만듭니다. 파이썬(Python)이라는 프로그래밍 언어에서는
[ ] 즉, (대괄호) 안에 쉼표(,)로 구분해서 목록을 만들 수 있어요.
Python
animal_friends = ["고양이", "강아지", "햄스터", "앵무새", "거북이"]
2. 이제 마법 주문을 외웁니다.
Python아 'animal_friends' 목록 안에 있는 각 '친구(friend)'에 대해서 # 아래 작업을 실행해라 (꼭 4칸 들여쓰기!)
for friend in animal_friends:
print(friend + ", 안녕!")
어 이렇게 했는데 에러가 나요
Cell In[5], line 2 print(friend + ", 안녕!") ^ IndentationError: expected an indented block after 'for' statement on line 1
for friend in animal_friends:
print(friend + ", 안녕!")
이렇게하면
고양이, 안녕!
강아지, 안녕!
햄스터, 안녕!
앵무새, 안녕!
거북이, 안녕!
이 코드를 컴퓨터가 어떻게 읽는지 하나씩 살펴볼까요?
for friend in animal_friends: for: "이제부터 반복할게!" animal_friends: "저기 저 animal_friends 목록을 가지고!" friend: "목록에서 하나씩 꺼낸 걸 임시로 friend라고 부를게." (이 이름은 animal이나 x처럼 마음대로 지어도 돼요!) :: "이제부터 시킬 일은 다음 줄에 있어."
print(friend + ", 안녕!") 이 부분이 바로 반복할 작업입니다. friend라는 이름표가 붙은 항목(처음엔 "고양이", 그다음엔 "강아지"...) 뒤에 ", 안녕!"을 붙여서 화면에 보여달라는 뜻이죠. 가장 중요한 것! for 문 아래에 있는 반복할 코드는 반드시 앞에 4칸을 띄워(들여쓰기) "이건 for 문에 포함된 일이야!"라고 알려줘야 합니다.
결과는 어떻게 나올까요?
컴퓨터는
animal_friends
목록에서 "고양이"를 꺼내
friend
라고 부르고, "고양이, 안녕!"을 출력합니다. 그다음, "강아지"를 꺼내
friend
라고 부르고, "강아지, 안녕!"을 출력합니다. ... 마지막 "거북이"까지 이 작업을 반복하고 목록이 비면,
for
루프는 마법처럼 종료됩니다.
고양이, 안녕! 강아지, 안녕! 햄스터, 안녕! 앵무새, 안녕! 거북이, 안녕!
어때요? 동물 친구가 100마리, 1000마리가 되어도 우리는 단 2줄의 코드로 모든 친구에게 인사를 건넬 수 있게 되었습니다!
이것이 바로 코딩이 강력한 이유 중 하나입니다. 귀찮은 반복 작업은 컴퓨터에게 맡기고, 우리는 더 창의적인 생각을 할 수 있으니까요.
다음 시간에는 이 똑똑한
for 루프를 조금 더 똑똑하게 만드는 방법을 알아볼게요!