Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 모음만 포함된 문자열 검사하기: 입력 유효성 확인 프로그램

프로그래밍을 하다 보면 특정 조건을 만족하는 입력만 받아야 하는 경우가 종종 있습니다. 이번 글에서는 모음(vowel)으로만 이루어진 단어나 문자열만 허용하는 파이썬 프로그램을 작성해 보겠습니다. 프로그램은 입력값이 유효한지 아닌지를 판별하여 결과를 알려줍니다.

문제 해결 접근 방식

구현 과정을 단계별로 살펴보겠습니다.

  • 모음 리스트를 정의합니다: [A, E, I, O, U, a, e, i, o, u]
  • 검사할 단어 또는 문장을 초기화합니다.
  • 단어나 문장을 한 글자씩 순회하며 다음을 확인합니다.
    • 해당 문자가 모음 리스트에 존재하는지 검사합니다.
3.1.1. 만약 리스트에 없다면 반복문을 중단(break)하고 "Not accepted"를 출력합니다.
  • 반대로 모든 문자가 통과했다면 "Accepted"를 출력합니다.

예제 코드

이제 위의 접근 방식을 실제 파이썬 코드로 변환해 보겠습니다.

def check_vowels(string):
    # 모음 리스트 정의
    vowels = ['A', 'E', 'I', 'O', 'U', 'a', 'e', 'i', 'o', 'u']
    # 문자열을 한 글자씩 순회
    for char in string:
        if char not in vowels:
            print(f"{string}: Not accepted")
            break
    else:
        print(f"{string}: Accepted")

if __name__ == '__main__':
    # 검사할 문자열 초기화
    string_1 = "tutorialspoint"
    string_2 = "AEiouaieeu"
    # 문자열 검사 수행
    check_vowels(string_1)
    check_vowels(string_2)

실행 결과

위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

tutorialspoint: Not accepted
AEiouaieeu: Accepted

"tutorialspoint"에는 t, r, s, l, p, n 등 모음이 아닌 자음이 포함되어 있어 거부되었고, "AEiouaieeu"는 오직 모음으로만 구성되어 있어 승인된 것을 확인할 수 있습니다.

핵심 포인트: for-else 구문

이 코드에서 주목할 만한 부분은 파이썬 고유의 for-else 구문입니다. 일반적인 언어와 달리 파이썬에서는 else 블록이 반복문이 break 없이 끝까지 정상적으로 실행되었을 때만 동작합니다. 따라서 모든 문자가 모음일 경우에만 else 블록이 실행되어 "Accepted"가 출력되고, 중간에 모음이 아닌 문자를 만나 break가 호출되면 else 블록은 건너뛰게 됩니다. 이 구문을 활용하면 별도의 플래그 변수 없이도 깔끔하게 조건 검사 로직을 작성할 수 있습니다.

마무리

이번 예제처럼 반복문과 조건문을 조합하면 다양한 입력 유효성 검사를 손쉽게 구현할 수 있습니다. 대소문자 처리, 숫자 포함 여부, 특수 문자 검사 등 자신의 요구 사항에 맞게 응용해 보시기 바랍니다. 튜토리얼에 대해 궁금한 점이 있다면 댓글로 남겨주세요.