Loop이 아무리 중요해도 매주 연속으로 공부하는 것은 지겨울 것 같아서, 다음 회부터는 For Loop은 응용은 하되 해설은 하지 않아도 될 정도로 우리 두 딸들이 이편을 통해서 for loop에 대해서 더 완벽히 이해하기를 바라요.
상황: 생일 파티를 열기로 하고 친구들 초대 명단을 만들었습니다.
1. 루프만 사용: 모든 친구에게 초대장 보내기
for
개념: 명단에 있는 모든 친구에게 동일한 내용의 초대장을 보냅니다.
코드 예시 (Python):
guest_list = ["철수", "영희", "민준", "지아", "현우"]
print("--- 초대장 발송을 시작합니다 ---")
for friend in guest_list:
print(friend + "에게 [파티 초대장]을 보냈습니다.")
print("--- 초대장 발송 완료! ---")
예상 결과:
--- 초대장 발송을 시작합니다 ---
철수에게 [파티 초대장]을 보냈습니다.
영희에게 [파티 초대장]을 보냈습니다.
민준에게 [파티 초대장]을 보냈습니다.
지아에게 [파티 초대장]을 보냈습니다.
현우에게 [파티 초대장]을 보냈습니다. -
-- 초대장 발송 완료! ---
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 하면 돼요.
예상 결과:
--- 맞춤형 초대장 발송 시작! ---
철수에게 [초대장] '너는 꼭 와야 해!'라고 보냈습니다.
영희에게 [초대장] '시간 되면 편하게 와~'라고 보냈습니다.
민준에게 [초대장] '시간 되면 편하게 와~'라고 보냈습니다.
지아에게 [초대장] '너는 꼭 와야 해!'라고 보냈습니다.
현우에게 [초대장] '시간 되면 편하게 와~'라고 보냈습니다.
--- 맞춤형 초대장 발송 완료! ---
상황: 학생들의 시험 점수 목록을 받았습니다. 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점입니다.
--- 점수 확인 완료 ---
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으로 만든 코드를 첨부합니다.