중급 Loop 예제 몰아서 풀어보기

by 박정수

Loop이 아무리 중요해도 매주 연속으로 공부하는 것은 지겨울 것 같아서, 다음 회부터는 For Loop은 응용은 하되 해설은 하지 않아도 될 정도로 우리 두 딸들이 이편을 통해서 for loop에 대해서 더 완벽히 이해하기를 바라요.



예제 1: 파티 초대장 발송하기

상황: 생일 파티를 열기로 하고 친구들 초대 명단을 만들었습니다.

1. 루프만 사용: 모든 친구에게 초대장 보내기

for

개념: 명단에 있는 모든 친구에게 동일한 내용의 초대장을 보냅니다.


코드 예시 (Python):

guest_list = ["철수", "영희", "민준", "지아", "현우"]

print("--- 초대장 발송을 시작합니다 ---")

for friend in guest_list:

print(friend + "에게 [파티 초대장]을 보냈습니다.")


print("--- 초대장 발송 완료! ---")


예상 결과:

--- 초대장 발송을 시작합니다 ---

철수에게 [파티 초대장]을 보냈습니다.

영희에게 [파티 초대장]을 보냈습니다.

민준에게 [파티 초대장]을 보냈습니다.

지아에게 [파티 초대장]을 보냈습니다.

현우에게 [파티 초대장]을 보냈습니다. -

-- 초대장 발송 완료! ---



예제 2: 친한 친구와 그냥 친구 구분하기

for, if, else

개념: 초대 명단을 돌면서, 만약 '절친'이면 "꼭 와야 해!"라는 특별 메시지를, 아니라면(else) "시간 되면 와~"라는 일반 메시지를 보내고 싶습니다.


코드 예시 (Python):

guest_list = ["철수", "영희", "민준", "지아", "현우"]

best_friends = ["철수", "지아"] # 내 절친 목록

print("--- 맞춤형 초대장 발송 시작! ---")


for friend in guest_list: # 만약(if) 이 친구가 'best_friends' 목록에 포함되어 있다면

if friend in best_friends:

print(friend + "에게 [초대장] '너는 꼭 와야 해!'라고 보냈습니다.") # 그게 아니라면(else)

else: print(friend + "에게 [초대장] '시간 되면 편하게 와~'라고 보냈습니다.")

print("--- 맞춤형 초대장 발송 완료! ---")


코드가 안 돌아가면 Indent가 맞는지를 확인하세요. For, If, Else는 4칸씩 띄어 쓴다는 사실 꼭 기억하세요.

아니면 코드를 copy를 해서 chGPTR에게 다음 코드에 무슨 문제가 있어요? 하고 paste 하면 돼요.


예상 결과:

--- 맞춤형 초대장 발송 시작! ---

철수에게 [초대장] '너는 꼭 와야 해!'라고 보냈습니다.

영희에게 [초대장] '시간 되면 편하게 와~'라고 보냈습니다.

민준에게 [초대장] '시간 되면 편하게 와~'라고 보냈습니다.

지아에게 [초대장] '너는 꼭 와야 해!'라고 보냈습니다.

현우에게 [초대장] '시간 되면 편하게 와~'라고 보냈습니다.

--- 맞춤형 초대장 발송 완료! ---


예제 3: 시험 점수 채점하기

상황: 학생들의 시험 점수 목록을 받았습니다. 60점 이상이면 "합격", 60점 미만이면 "불합격"을 알려줘야 합니다.

1. 루프만 사용: 모든 점수 확인하기 (큰 의미는 없지만...)

for

개념: 일단 모든 점수를 하나씩 훑어보는 상황입니다.

코드 예시 (Python):

scores = [85, 42, 95, 60, 77]

print("--- 점수 확인 시작 ---")

for score in scores:

print("이번 학생 점수는 " + str(score) + "점입니다.") # str()은 숫자를 글자로 바꿔줍니다

print("--- 점수 확인 완료 ---")


예상 결과:

--- 점수 확인 시작 ---

이번 학생 점수는 85점입니다.

이번 학생 점수는 42점입니다.

이번 학생 점수는 95점입니다.

이번 학생 점수는 60점입니다.

이번 학생 점수는 77점입니다.

--- 점수 확인 완료 ---


예제 4: 합격/불합격 판정하기

for, if, else

개념: 점수를 하나씩 확인하면서, 만약 60점 이상이면 "합격", 아니라면(else) "불합격"을 판정합니다.

코드 예시 (Python):

scores = [85, 42, 95, 60, 77]

print("--- 채점 시작 ---") # 0번 학생부터 차례대로 확인하기 위해 range()를 사용해 봅니다.

# len(scores)는 'scores 리스트의 길이' (여기서는 5)

# range(5)는 0, 1, 2, 3, 4 숫자를 차례대로 만들어줍니다.

for i in range(len(scores)):

score = scores [i] # i번째 학생의 점수를 꺼냅니다.

# 만약(if) 점수(score)가 60보다 크거나 같다면(>=)

if score >= 60:

print(str(i+1) + "번 학생 (" + str(score) + "점): 합격입니다!") # 그게 아니라면(else)

else:

print(str(i+1) + "번 학생 (" + str(score) + "점): 불합격입니다.")

print("--- 채점 완료 ---")


(참고: i+1을 쓴 이유는, 컴퓨터는 0부터 숫자를 세지만 우리는 보통 1번 학생부터 부르기 때문입니다!)

예상 결과:

--- 채점 시작 ---

1번 학생 (85점): 합격입니다!

2번 학생 (42점): 불합격입니다.

3번 학생 (95점): 합격입니다!

4번 학생 (60점): 합격입니다!

5번 학생 (77점): 합격입니다!

--- 채점 완료 ---


좀 지겨우셨겠지만 오늘로 For Loop을 종결하기 위해서 많은 예제를 드렸어요. 다음 편부터는 홀수는 그래프 소개 편으로 진행을 할게요. 기대해 주세요


그리고 COLAB으로 만든 코드를 첨부합니다.


이전 12화아빠랑 동심으로 돌아가 그림 그리기