단어의 첫 글자가 모음일 때 코드가 작동하게 만들었으니, 이제 남은 건 자음의 경우 뿐입니다. (문자는 오직 자음과 모음밖에 없으니, 자음의 경우는 else 부분이 되겠네요.)
이를 위한 번역은 조금 헷갈릴 수도 있습니다. 단어에서 첫 번째 문자를 지운 다음, 단어의 맨 뒤로 이동시켜 접미사 ay를 붙여야 하기 때문입니다.
문자열에서 첫 번째 글자를 제거하고 남은 부분만을 저장하는 방법으로 슬라이싱(slicing)을 사용하는 것이 가장 적절합니다. 문자열이 저장된 s라는 변수가 있을 때, s[i:j]라고 작성함으로써s의 i부터 j사이의 문자열 부분(slice)을 얻을 수 있습니다. 여기서 i와 j는 각각 문자열을 구성하는 글자의 위치값을 나타냅니다.
예를 들어 s = "foo"일때, s[0:2] 구문은"fo"를 반환합니다. 이 기술을 이용해서 어떻게 단어의 첫 번째 문자만 지우고 나머지 문자들을 남길지 생각해 보세요.
현재코드 -------------
pyg = 'ay'
original = raw_input('Enter a word:')
word = original.lower()
if len(original) > 0 and original.isalpha():
first = word[0]
new_word = first + pyg
print new_word
else:
new_word = original[1:]
print new_word
--------------
단어의 첫 번째 문자를 점검하는 if/else 블록의 else 부분 안에, 변수 new_word의 값으로 자음으로 시작하는 단어의 번역 결과를 저장하세요.
코드의 print 'consonant' 부분을 pritn new_word로 바꾸세요. 자음으로 시작하는 단어를 이용해서 코드가 제대로 작동하는지 점검하세요!
여기서 자음이든 모음이든 입력해도 첫단어 + ay가 결과로 뜨는데 이게 뭐 사이트에서 뭔갈 생략해서 지금 안되는건지 내가 뭔갈 빼먹은건지??;;
어떻게 고쳐야 첫단어가 모음이면 + ay가 붙고 자음이면 그냥 가는 명령어가 실행되는지좀 알려주세요.
vowels = 'aeiouy'// if first in vowels 이런식으로..