728x90
반응형

조건문(if, elif, else)은 프로그램의 흐름을 제어하는 핵심 요소로, 다양한 조건을 평가하여 특정 로직을 수행하도록 만듭니다. 이번 장에서는 조건문을 활용하여 두 가지 간단한 프로그램을 제작합니다.
1. 숫자 크기 비교 프로그램
2. 특정 문자열 포함 여부 확인 프로그램
이 프로그램들은 단순한 비교 연산부터, 입력 처리, 오류 방지 및 확장성까지 고려하여 약간의 난이도가 있는 수준으로 작성됩니다.
1. 숫자 크기 비교 프로그램
숫자 크기 비교 프로그램은 사용자가 입력한 두 개의 숫자를 비교하여 더 큰 숫자를 출력하는 프로그램입니다.
㉮ 기본 구조
- 두 개의 숫자를 입력받음
- 입력값이 숫자인지 검증
- 두 숫자를 비교하여 크거나 작은지 출력
- 두 숫자가 동일하면 이를 처리
㉯ 기본 코드
# 사용자 입력 받기
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))
# 숫자 비교
if num1 > num2:
print(f"{num1}이(가) {num2}보다 큽니다.")
elif num1 < num2:
print(f"{num1}이(가) {num2}보다 적습니다.")
else:
print("두 숫자는 같습니다")
출력 예시
첫 번째 숫자를 입력하세요: 10
두 번째 숫자를 입력하세요: 5
10.0이(가) 5.0보다 큽니다.
㉰ 입력 오류 방지 코드 추가
- 사용자가 숫자가 아닌 문자열을 입력하면 프로그램이 오류 없이 다시 입력받도록 개선할 수 있습니다.
def get_number(prompt):
while True:
try:
return float(input(prompt))
except ValueError:
print("잘못된 입력입니다. 숫자를 입력하세요.")
# 사용자 입력 받기
num1 = get_number("첫 번째 숫자를 입력하세요: ")
num2 = get_number("두 번째 숫자를 입력하세요: ")
# 숫자 비교
if num1 > num2:
print(f"{num1}이(가) {num2}보다 큽니다.")
elif num1 < num2:
print(f"{num1}이(가) {num2}보다 작습니다.")
else:
print("두 숫자는 같습니다.")
㉱ 확장 기능 : 여러 개의 숫자 비교
- 두 개가 아니라 여러 개의 숫자 중 가장 큰 숫자를 찾는 기능을 추가할 수도 있습니다.
numbers = list(map(float, input("비교할 숫자를 공백으로 구분하여 입력하세요: ").split()))
# 최대값 찾기
max_num = max(numbers)
print(f"가장 큰 숫자는 {max_num}입니다.")
출력 예시
비교할 숫자들을 공백으로 구분하여 입력하세요: 10 5 20 3
가장 큰 숫자는 20.0입니다.
2. 특정 문자열 포함 여부 확인 프로그램
이 프로그램은 사용자가 입력한 문장에서 특정 단어가 포함되어 있는지 검사하는 프로그램입니다.
㉮ 기본 코드
# 사용자 입력
sentence = input("문장을 입력하세요: ")
keyword = input("찾을 단어를 입력하세요: ")
# 특정 단어 포함 여부 확인
if keyword in sentence:
print(f"문장에 '{keyword}'이(가) 포함되어 있습니다.")
else:
print(f"문장에 '{keyword}'이(가) 포함되어 있지 않습니다.")
출력 예시
문장을 입력하세요: Python은 강력한 언어입니다.
찾을 단어를 입력하세요: Python
문장에 'Python'이(가) 포함되어 있습니다.
㉯ 대소문자 무시 기능 추가
- 검색할 때 대소문자를 구별하지 않고 검색할 수 있도록 개선합니다.
# 사용자 입력 (대소문자 무시)
sentence = input("문장을 입력하세요: ").lower()
keyword = input("찾을 단어를 입력하세요: ").lower()
# 특정 단어 포함 여부 확인
if keyword in sentence:
print(f"문장에 '{keyword}'이(가) 포함되어 있습니다.")
else:
print(f"문장에 '{keyword}'이(가) 포함되어 있지 않습니다.")
㉰ 확장 기능 : 여러 개의 키워드 검색
- 여러 개의 단어를 입력받아, 해당하는 단어가 문장에 포함되어 있는지 검사합니다.
sentence = input("문장을 입력하세요: ").lower()
keywords = input("찾을 단어들을 공백으로 구분하여 입력하세요: ").lower().split()
# 검색 수행
found_keywords = [word for word in keywords if word in sentence]
if found_keywords:
print(f"문장에 포함된 단어: {', '.join(found_keywords)}")
else:
print("입력한 단어들이 문장에 포함되어 있지 않습니다.")
출시 예시
문장을 입력하세요: Python은 강력한 언어입니다.
찾을 단어들을 공백으로 구분하여 입력하세요: Python Java C++
문장에 포함된 단어: Python
㉱ 확장 기능 : 스팸 필터링
- 스팸 이메잉ㄹ 필터링처럼 특정 금지어가 포함된 문장을 차단하는 기능을 추가할 수 있습니다.
spam_words = ["광고", "당첨", "무료", "이벤트"]
email = input("이메일 내용을 입력하세요: ")
if any(word in email for word in spam_words):
print("스팸 메일입니다.")
else:
print("정상적인 메일입니다.")
출력 예시
이메일 내용을 입력하세요: 무료 경품 이벤트에 당첨되었습니다!
스팸 메일입니다.
3. 요약
- 숫자 크기 비교 프로그램을 통해 두 개 또는 여러 개의 숫자를 비교할 수 있습니다.
- 특정 문자열 포함 여부 확인 프로그램을 활용하여 문장 내 특정 단어 검색 기능을 구현할 수 있습니다.
- 대소문자 무시 기능을 추가하면 검색 정확도를 높일 수 있습니다.
- 여러 개의 키워드를 검색하거나, 스팸 필터링을 적용하면 실용성을 높일 수 있습니다.
728x90
반응형
'코딩교육 > Python 초등교육에서 전문가까지' 카테고리의 다른 글
2단계 : 3. 반복문 (반복문의 필수 구성 요소 - range, 조건식, 종료 조건 등) (0) | 2025.03.05 |
---|---|
2단계 : 3. 반복문 (for 와 while 의 차이점과 기본 사용법) (0) | 2025.03.04 |
2단계 : 2. 조건문 (in , not in 연산자 활용) (0) | 2025.02.22 |
2단계 : 2. 조건문 (조건문 중첩과 효율적인 사용법) (0) | 2025.02.21 |
2단계 : 2. 조건문 (조건문 작성 시 유의사항, 들여쓰기, 조건 표현식) (0) | 2025.02.20 |