brunch

중급 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으로 만든 코드를 첨부합니다.


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