用Notepad++打下列的程式碼,
另存為ex25.py. 我附上中文注釋方便好讀.
# split就是以(" ")空格為標記, 遇到標記的符號(空格)就空一格. 如果我用('a')為標記, 整句話只有遇到a 才會變成空格 def break_words(stuff): """This function will break up words for us.""" words = stuff.split(" ") return words # sorted 就是重新排序 # 但這裡是根據參數words來排, 也就是上面函數break_words做完的結果來排序 def sort_words(words): """Sorts the words.""" return sorted(words) # pop 取出第一個字, 取完後就沒有這個字了 # 但這裡是根據參數words來排, 也就是第一個函數break_words做完的結果來取出 def print_first_word(words): """Print the first word after popping it off. """ word = words.pop(0) print(word) # pop 取出倒數第一個字, 取完後就沒有這個字了. # 但這裡是根據參數words來排, 也就是第一個函數break_words做完的結果來取出. def print_last_word(words): """Prints the last word after popping it off.""" word = words.pop(-1) print(word) #這個組合了兩個函數, 先把參數(sentence)代入函數break_words做掉(用空格分開), 得到的結果為words, #然後把words做為參數, 代入函數sort_words做掉(排序). def sort_sentence(sentence): """Takes in a full sentence and returns the sorted words.""" words = break_words(sentence) return sort_words(words) # 這函數print_first_and_last是把參數(sentence), 用break_words處理(空格分開), # 然後再用函數print_first_word印出第一個字, # 然後再用函數print_last_word印出倒數第一個字. def print_first_and_last(sentence): """Prints the first and last words of the sentence.""" words = break_words(sentence) print_first_word(words) print_last_word(words) # 這函數print_first_and_last_sorted是把參數(sentence), 用sort_sentence處理(空格分開後, 再排序), # 然後再用函數print_first_word印出第一個字, # 然後再用函數print_last_word印出倒數第一個字. def print_first_and_last_sorted(sentence): """Sorts the words then prints the first and last one.""" words = sort_sentence(sentence) print_first_word(words) print_last_word(words)
然後用Windows的cmd, 執行python打開它.
C:\Windows\System32>cd C:\Users\Peter\Desktop\Python\LP3THW C:\Users\Peter\Desktop\Python\LP3THW>python Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import ex25 >>> sentence = "All good things come to those who wait." >>> words = ex25.break_words(sentence) >>> words ['All', 'good', 'things', 'come', 'to', 'those', 'who', 'wait.'] >>> sorted_words = ex25.sort_words(words) >>> sorted_words ['All', 'come', 'good', 'things', 'those', 'to', 'wait.', 'who'] >>> ex25.print_first_word(words) All >>> ex25.print_last_word(words) wait. >>> words ['good', 'things', 'come', 'to', 'those', 'who'] >>> ex25.print_first_word(sorted_words) All >>> ex25.print_last_word(sorted_words) who >>> sorted_words ['come', 'good', 'things', 'those', 'to', 'wait.'] >>> sorted_words = ex25.sort_sentence(sentence) >>> sorted_words ['All', 'come', 'good', 'things', 'those', 'to', 'wait.', 'who'] >>> ex25.print_first_and_last(sentence) All wait. >>> ex25.print_first_and_last_sorted(sentence) All who >>>
完成
最初發表 / 最後更新: 2018.09.05 / 2018.09.05
0 comments:
張貼留言