본문 바로가기

Study/Algorithm 문제풀이

[python] 단어의 첫번째 모음 기준으로 split 하는 함수

728x90
반응형

입력 받은 word의 첫 번째 모음 기준으로 split 하는 함수를 만들어 보자

 

 

def split(word):
    vowels = ['a', 'e', 'o', 'i', 'u']
    for _ in word:
        if _ in vowels:
            return word[:word.index(_)], word[word.index(_):]
            
word = 'goat'
word2 = 'sheep'

print(word)  
print(word2)

## 출력 결과 ##
('g', 'oat')
('sh', 'eep')

위와 같이 구현을 하면 소문자로 받은 'goat', 'sheep' 과 같은 단어들은 ('g', 'oat'), ('sh', 'eep') 과 같이 잘 출력이 될 것이다. 

 

하지만, 대문자로 입력을 받는다면 어떻게 될까?

word = 'GOAT'

print(split(word))

## 출력결과 ##
None

 

따라서, 함수 안에서 입력 받은 word를 소문자로 변경을 해주는 작업이 필요하다. 

def split(word):
    temp = word.lower()
    vowels = ['a', 'e', 'o', 'i', 'u']
    for _ in temp:
        if _ in vowels:
            return word[:temp.index(_)], word[temp.index(_):]
            
word = 'GOAT'
print(split(word))

## 출력결과 ##
('G', 'OAT')

 

 

 

728x90
반응형