본문 바로가기
코딩교육/Python 초등교육에서 전문가까지

2단계 : 2. 조건문 (조건문을 활용한 간단한 프로그램 만들기)

by 제리토리 2025. 2. 23.
728x90
반응형

 

조건문(if, elif, else)은 프로그램의 흐름을 제어하는 핵심 요소로, 다양한 조건을 평가하여 특정 로직을 수행하도록 만듭니다. 이번 장에서는 조건문을 활용하여 두 가지 간단한 프로그램을 제작합니다.

 

1. 숫자 크기 비교 프로그램

2. 특정 문자열 포함 여부 확인 프로그램

 

이 프로그램들은 단순한 비교 연산부터, 입력 처리, 오류 방지 및 확장성까지 고려하여 약간의 난이도가 있는 수준으로 작성됩니다.

 

 

1. 숫자 크기 비교 프로그램

 

숫자 크기 비교 프로그램은 사용자가 입력한 두 개의 숫자를 비교하여 더 큰 숫자를 출력하는 프로그램입니다.

 

㉮ 기본 구조

  1. 두 개의 숫자를 입력받음
  2. 입력값이 숫자인지 검증
  3. 두 숫자를 비교하여 크거나 작은지 출력
  4. 두 숫자가 동일하면 이를 처리

㉯ 기본 코드

# 사용자 입력 받기
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
반응형