728x90
반응형
(문제)
3. 리스트 word=[ ‘apple’, ‘axes’, ‘book’, ‘box’, ‘buzz’, ‘cat’, ‘cantus’, ‘church’, ‘dish’, ‘knife’, ‘lady’, ‘leaf’, ‘pitch’, ‘stimulus’, ‘taxi’, ‘wish’, ‘wolf’ ]는 단수명사들로 구성된 리스트이다. 각 아이템들을 복수명사로 만들어, plural 라는 리스트에 추가한 후 그 결과를 출력 하시오. 복수명사를 만드는 기준은 다음과 같다.
a. 명사의 끝이 “y”이면 “y”를 제외하고 “ies”를 붙인다.
b. 명사의 끝이 “f”, “fe” 이면 “f”, “fe”를 제외하고 “ves”를 붙인다.
c. 명사가 “s”, “x”, “z”, “ch”, “sh” 로 끝나면, “es”를 붙인다.
d. 명사가 “us” 로 끝나면, “us”를 제외하고 “i”를 붙인다.
e. 위의 4가지 경우가 아니면 “s”를 붙인다.
(방법)
전부 확인을 하지는 못했습니다. 이런 식의 코드이니 수정하시면 되겠습니다.
저도 하다보니 2문자 확인 if 문이 먼저 와야 합니다. 'es'와 's'일때 s 가 먼저 수정하면 es가 수정이 되지 않기 때문 입니다.
리스트[-1]은 뒤에서 첫번째 요소 라는 뜻입니다. -2도 뒤에서 두번째 뜻
리스트[:-1]은 첫번째부터 뒤에서 첫번째 전까지 라는 뜻입니다. [:-2]도 처음부터 뒤에서 2번째 이전까지라는 뜻
리스트[-2:] 은 뒤에서 두번째 부터 끝까지라는 의미
word=['apple','axes','book','box','buzz'
,'cat','cantus','church','dish','knife'
,'lady','leaf','pitch','stimulus','taxi'
,'wish','wolf']
plural = []
for j in range(len(word)):
if word[j][-2:] == 'ch' or word[j][-2:] == 'sh':
w = word[j] + 'es'
plural.append(w)
elif word[j][-2:] == 'us':
w = word[j][:-2] + 'i'
plural.append(w)
elif word[j][-2:] == 'fe':
w = word[j][:-2] + 'vas'
plural.append(w)
elif word[j][-1] == 'y':
w = word[j][:-1] + 'ies'
plural.append(w)
elif word[j][-1] == 'f':
w = word[j][:-1] + 'vas'
plural.append(w)
elif word[j][-1] == 's' or word[j][-1] == 'x' or word[j][-1] == 'z':
w = word[j] + 'es'
plural.append(w)
else:
w = word[j] + 's'
plural.append(w)
for i in range(len(word)):
print(f"단수명사 : {word[i]} / 복수명사 : {plural[i]}")
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 학생정보 입력 받고 출력하기 (0) | 2023.02.20 |
---|---|
[파이썬] 문제 : 주사위 던져서 1 이 나올 확률 (0) | 2023.02.20 |
[파이썬] 문제 : 머신러닝 자동차 차종별 마력,연비 고려 선택 (0) | 2023.02.20 |
[파이썬] 문제 : Text파일의 데이터 읽어 plot 그리기 (0) | 2023.02.20 |
[파이썬] 문제 : sklearn에서 csv파일 데이터 사용(GaussianNB) (0) | 2023.02.20 |
댓글