0
small_words = ('into', 'the', 'a', 'of', 'at', 'in', 'for', 'on')
def book_title(title):
""" Takes a string and returns a title-case string.
All words EXCEPT for small words are made title case
unless the string starts with a preposition, in which
case the word is correctly capitalized.
>>> book_title('DIVE Into python')
'Dive into Python'
>>> book_title('the great gatsby')
'The Great Gatsby'
>>> book_title('the WORKS OF AleXANDer dumas')
'The Works of Alexander Dumas'
"""
lst_of_words = title.lower().split()
num_of_words = len(lst_of_words)
if num_of_words < 1:
return ''
new_title = lst_of_words.pop(0)
new_title = new_title[0].upper() + new_title[1:]
tpl_of_words = tuple(lst_of_words)
for word in tpl_of_words:
prep_word = False
for prep in small_words:
if prep == word:
new_title = new_title + ' ' + word
new_title = new_title + word
prep_word = True
break
if prep_word == True:
continue
new_title = new_title + ' '+ word[0].upper()+ word[1:]
new_title = new_title + word[0].upper()
new_title = new_title + word[1:]
return new_title
def _test():
import doctest, refactory
return doctest.testmod(refactory)
if __name__ == "__main__":
_test()
감사 이그나시오 도와주세요. 나는 IX 변수를 제외한 다른 모든 것을 이해할 수있다. – python4gis
') (열거''(인덱스, 요소)의 2 튜플을 산출 발전기를 돌려'곳 'element'는 전달 된 iterable로부터 차례대로 각 요소이고'index'는 0에서 시작하여 매번 1 씩 증가하는 정수입니다 –
Title-case가 내장되어 있습니다 (3에서 제거하지 않는 한)? (new [0] .upper() + new [1 :])'new.title()에 쓸 수 있습니다. –