E. 반복문과 리스트
🎯 학습 목표
이 강의를 마치면 다음을 할 수 있어요:
- ○ 리스트를 반복문과 함께 사용할 수 있다
- ○
len()함수로 리스트 길이를 확인할 수 있다 - ○ 게임에서 모든 총알/적을 처리할 수 있다
핵심 개념
리스트 반복하기
🔄 비유: 줄 서기
마치 줄 서있는 사람들을 한 명씩 확인하는 것처럼! 리스트의 모든 항목을 하나씩 처리합니다.
len() 함수
len() 함수는 리스트의 항목 개수를 반환합니다.
게임에서의 활용
# 모든 총알 이동시키기
for bullet in bullets:
bullet.position += bullet.forward * speed
# 남은 적이 있는지 확인
if len(enemies) == 0:
print("승리!")
예제 코드
from ursina import *
app = Ursina()
bullets = []
targets = []
# 타겟 만들기
for i in range(6):
target = Entity(
model='cube',
color=color.white,
position=(i*2 - 5, 0, 5)
)
targets.append(target)
def update():
# 모든 총알 이동
for bullet in bullets:
bullet.z += 0.5 # 앞으로 이동
# 승리 확인
if len(targets) == 0:
print("모든 타겟 제거!")
EditorCamera()
app.run()
실행 결과
모든 총알이 반복문으로 처리됩니다!
리스트 함수 요약
| 함수 | 역할 | 예시 |
|---|---|---|
append() |
추가 | my_list.append(item) |
remove() |
제거 | my_list.remove(item) |
len() |
개수 | len(my_list) |
퀴즈
정답 보기
정답: C) len()
len()은 "length(길이)"의 줄임말입니다.
리스트, 문자열 등의 항목 개수를 반환합니다!
반복문과 리스트 연습:
fruits = ["사과", "바나나", "오렌지"] 리스트가 있을 때:
- 모든 항목을 하나씩 처리하려면:
for fruitfruits: - 리스트의 항목 개수(3개)를 확인하려면:
(fruits)→ 3 - 리스트가 비었는지 확인:
if len(fruits) ==:
직접 코딩해보기
블록으로 배운 내용을 Python 코드로 직접 작성해보세요!
리스트 반복하기
for문으로 리스트의 모든 항목을 출력해보세요.
len()으로 개수 확인하기
len() 함수로 리스트의 항목 개수를 확인해보세요!
축하합니다! 🎉
리스트를 마스터했습니다!
이제 할 수 있는 것들:
- ✅ 빈 리스트 만들기
[] - ✅ 항목 추가하기
append() - ✅ 항목 제거하기
remove() - ✅ 개수 확인하기
len() - ✅ 반복문과 함께 사용하기
도전 과제
도전 1: ⭐ 쉬움
for문으로 리스트의 모든 숫자를 더해서 합계를 출력해보세요.
힌트: total = 0으로 시작해서 각 숫자를 더합니다.
도전 2: ⭐ 쉬움
리스트에 5개 항목을 추가하고 len()으로 개수를 확인해보세요.
힌트: append()를 5번 사용하세요.
도전 3: ⭐⭐ 중간
리스트의 각 항목 옆에 인덱스 번호를 함께 출력해보세요.
힌트: enumerate() 함수를 사용하거나 range(len(list))를 사용하세요.
도전 4: ⭐⭐ 중간
두 개의 리스트를 합쳐서 하나로 만들어보세요.
힌트: + 연산자로 리스트를 연결할 수 있습니다.
도전 5: ⭐⭐⭐ 어려움
리스트에서 특정 값 이상인 항목만 새 리스트로 옮겨보세요.
힌트: if 조건문과 append()를 함께 사용하세요.
도전 6: ⭐⭐⭐ 어려움 - 슈팅 게임
- 마우스 클릭 시 총알을
bullets리스트에 추가 update()에서 모든 총알 이동- 총알이 타겟과 충돌하면 둘 다 제거
- 모든 타겟 제거 시 "승리!" 출력
힌트: distance_to() 메서드로 충돌을 감지할 수 있습니다.
🧩 핵심 요약
이번 강의에서 배운 내용:
| 개념 | 설명 |
|---|---|
| for item in list | 리스트 모든 항목 순회 |
| len() | 항목 개수 확인 |
| 활용 | 모든 총알/적 처리 |
| 승리 조건 | len(enemies) == 0 |
복습 체크리스트
- [ ] 리스트를 반복문으로 순회하는 방법을 알고 있나요?
- [ ]
len()함수의 역할을 설명할 수 있나요? - [ ] 게임에서 리스트와 반복문을 어떻게 활용하는지 이해했나요?