📌 메타 설명
Python을 사용하여 입력된 숫자 중 3의 배수만 필터링하는 프로그램을 만들어 보세요!
리스트 컴프리헨션을 활용하면 코드를 더욱 간결하고 효율적으로 작성할 수 있습니다.
1. Python에서 리스트와 3의 배수 필터링하기
리스트에서 특정 조건을 만족하는 숫자만 추출하는 기능은 데이터 처리에서 필수적인 기법입니다.
특히, 3의 배수만 출력하는 프로그램은 Python 리스트와 조건문을 활용하는 좋은 연습이 됩니다.
🔹 프로그램 개요
✅ 사용자로부터 5개의 숫자를 입력받아 리스트에 저장
✅ 리스트에서 3의 배수만 필터링하여 새로운 리스트 생성
✅ 3의 배수 목록을 출력
2. Python 코드 예제 (3의 배수 필터링)
Python에서는 리스트 컴프리헨션을 활용하여 조건을 만족하는 요소만 추출할 수 있습니다.
아래 코드는 사용자로부터 5개의 숫자를 입력받고, 그중 3의 배수만 출력하는 프로그램입니다.
# 빈 리스트 생성
numbers = []
# 사용자로부터 5개의 숫자 입력 받기
for i in range(5):
num = int(input(f"{i+1}번째 숫자를 입력하세요: ")) # 정수 입력
numbers.append(num) # 리스트에 추가
# 리스트에서 3의 배수만 필터링
multiples_of_three = [num for num in numbers if num % 3 == 0]
# 결과 출력
print("3의 배수:", multiples_of_three)
3. 코드 설명
- 리스트 생성
- numbers = [] → 빈 리스트를 생성하여 입력받은 숫자를 저장할 공간을 마련합니다.
- 반복문을 활용한 입력
- for i in range(5): → 5번 반복하면서 숫자를 입력받습니다.
- int(input(f"{i+1}번째 숫자를 입력하세요: ")) → 사용자가 입력한 값을 int로 변환하여 숫자로 저장합니다.
- numbers.append(num) → 입력받은 숫자를 리스트에 추가합니다.
- 3의 배수만 필터링
- multiples_of_three = [num for num in numbers if num % 3 == 0]
- 리스트 컴프리헨션을 활용하여 num % 3 == 0 조건을 만족하는 숫자만 새로운 리스트에 저장합니다.
- multiples_of_three = [num for num in numbers if num % 3 == 0]
- 결과 출력
- print("3의 배수:", multiples_of_three) → 필터링된 3의 배수 리스트를 출력합니다.
4. 실행 예제
✅ 실행 과정
1번째 숫자를 입력하세요: 10
2번째 숫자를 입력하세요: 9
3번째 숫자를 입력하세요: 15
4번째 숫자를 입력하세요: 22
5번째 숫자를 입력하세요: 6
3의 배수: [9, 15, 6]
💡 입력한 숫자 중에서 3의 배수(9, 15, 6)만 필터링되어 출력되었습니다! 🚀
5. 리스트 컴프리헨션을 활용한 간결한 코드
반복문을 사용하지 않고, 한 줄의 코드로 리스트를 생성하는 방법도 있습니다.
# 리스트 컴프리헨션을 활용한 입력
numbers = [int(input(f"{i+1}번째 숫자를 입력하세요: ")) for i in range(5)]
# 3의 배수만 필터링
multiples_of_three = [num for num in numbers if num % 3 == 0]
# 결과 출력
print("3의 배수:", multiples_of_three)
💡 리스트 컴프리헨션을 사용하면 코드가 더 간결해집니다!
6. 예외 처리 추가 (잘못된 입력 방지)
사용자가 숫자가 아닌 값을 입력하면 오류가 발생할 수 있습니다.
이를 방지하기 위해 **예외 처리(try-except)를 추가하여 프로그램이 안전하게 실행되도록 개선할 수 있습니다.
# 빈 리스트 생성
numbers = []
# 사용자로부터 5개의 숫자 입력 받기 (예외 처리 포함)
for i in range(5):
while True:
try:
num = int(input(f"{i+1}번째 숫자를 입력하세요: ")) # 정수 입력
numbers.append(num) # 리스트에 추가
break # 입력이 성공하면 반복문 종료
except ValueError:
print("입력 오류! 숫자를 입력하세요.") # 예외 발생 시 다시 입력 요청
# 3의 배수만 필터링
multiples_of_three = [num for num in numbers if num % 3 == 0]
# 결과 출력
print("3의 배수:", multiples_of_three)
✅ 실행 예제
1번째 숫자를 입력하세요: 10
2번째 숫자를 입력하세요: hello
입력 오류! 숫자를 입력하세요.
2번째 숫자를 입력하세요: 9
3번째 숫자를 입력하세요: 15
4번째 숫자를 입력하세요: world
입력 오류! 숫자를 입력하세요.
4번째 숫자를 입력하세요: 22
5번째 숫자를 입력하세요: 6
3의 배수: [9, 15, 6]
💡 숫자가 아닌 값을 입력하면 오류 메시지를 출력하고 다시 입력을 받도록 구현했습니다! 😊
7. 결론
이번 글에서는 리스트를 활용하여 입력받은 숫자 중 3의 배수만 출력하는 방법을 배웠습니다.
✅ 리스트 생성 (numbers = [])
✅ 반복문을 활용한 입력 (for 문 사용)
✅ 리스트에서 3의 배수 필터링 (num % 3 == 0)
✅ 리스트 컴프리헨션을 활용하여 간결한 코드 작성
✅ 예외 처리를 추가하여 안전한 입력 처리
이제 Python을 활용하여 3의 배수를 필터링하는 다양한 연습을 해보세요! 🚀