코딩교육/Python 초등교육에서 전문가까지

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

제리토리 2025. 2. 23. 09:00
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
반응형