Python - 문제 미리보기
문제 2107
hard
다음 입력 검증 코드에서 사용자가 "abc"를 입력했을 때의 동작 흐름으로 올바른 것은 무엇인가요?
```python
while True:
user_input = input("숫자를 입력하세요: ")
try:
number = float(user_input)
print(f"입력한 숫자: {number}")
break
except:
print("올바른 숫자를 입력해주세요.")
```
```python
while True:
user_input = input("숫자를 입력하세요: ")
try:
number = float(user_input)
print(f"입력한 숫자: {number}")
break
except:
print("올바른 숫자를 입력해주세요.")
```
정답: C
⦁ 코드 동작 분석:
1. `while True`: - 무한 반복 시작
2. `input()` - 사용자에게 입력 요청
3. `float("abc")` - 문자열을 숫자로 변환 시도 → ValueError 발생
4. `except` 블록 실행 - "올바른 숫자를 입력해주세요." 출력
5. `break`가 실행되지 않았으므로 다시 반복문의 처음으로
⦁ 입력 검증의 핵심 원리:
⦁ `try-except` 구문으로 변환 오류를 안전하게 처리
⦁ `while True` 반복문으로 올바른 입력까지 계속 요청
⦁ `break` 문으로 올바른 입력 시에만 반복 종료
⦁ 실제 사용 시나리오:
⦁ 사용자가 실수로 문자를 입력해도 프로그램이 중단되지 않음
⦁ 친화적인 오류 메시지로 다시 입력하도록 안내
⦁ 견고한(robust) 프로그램 작성의 핵심 패턴
💡 학습 팁
이 문제를 포함한 Python 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.