ex25 更多更多的实践

  本练习在脚本中创建了多个函数,并通过终端调用ex25.py从而使用这些函数。

#-*- coding: UTF-8 -*- 
def break_words(stuff):
 """ This function will break words for us."""#这个东西,在终端进行交互的过程中,输入help(ex25)之后会被打印出来。
 words = stuff.split(' ')
 return words

def sort_words(words):
    """Sort the wods."""
    return sorted (words)
    
def print_first_word(words):
    """Prints the first word after poping it off."""
    word = words.pop(0)
    print word
    
def print_last_word(words):
    """prints the last word after poping it off."""
    word = words.pop(-1)
    print word
    
def sort_sentence(sentence):
    """Takes in a full sentence and returns the sorted words."""
    words = break_words(sentence)
    return sort_words(words)
    
def print_first_and_last(sentence):
    """Prints the first and the last words of the sentence."""
    words = break_words (sentence)
    print_first_word(words)
    print_last_word(words)
    
def print_first_and_last_sorted(sentence):
    """Sorts the word then printd the first and last one."""
    words = sort_sentence(sentence)
    print_first_word(words)
    print_last_word(words)

在运行之后大致如下:

1、这个习题的运行是在python解释器里边,用交互的方式和创建的脚本.py进行交流;

2、如果觉得每调用一次ex5里边的函数就要输一铬ex25.太麻烦了的话,可以换个方式来。 from ex25 inmport *。

3、如果有的函数打印出来 none,有可能是漏写了return。

4、在python中import直接就import ex25就好了,不用加后缀,否则会出错。

两个疑问待解决:

最后有个疑问没法解决:以sort_word为例,在通过在通过print_last_word打印出最后一个单词,通过print_first_word打印第一个单词之后,打印sorted_words发现之前打印过的两个单词不见了。书上解释说打印过之后就不再打印,可如果再往下运行一次sorted_out,依然还是打印出少了两个的列表。

所以个人认为可能跟一些列表的处理有关。

另外就是不明白所创建的sort_words这个函数,难道真的就只是起了一个对列表的元素按字母排列的作用?

posted @ 2017-10-31 21:26  丁头零零  阅读(230)  评论(0编辑  收藏  举报