Learn Python The Hard Way学习(25) - 甚至更多的练习


我们要做更多关于函数和变量的练习,以便我们能更好的掌握它们,这个练习非常直接了当,输入,分析,理解。

当然,这个例子有些不同,我们不能直接运行它,需要导入并运行里面的函数。
[python] 
def break_words(stuff): 
    """This function will break up words for us.""" 
    words = stuff.split(' ') 
    return words 
 
 
def sort_words(words): 
    """Sorts the words.""" 
    return sorted(words) 
 
 
def print_first_word(words): 
    """Prints the first word after popping it off.""" 
    word = words.pop(0) 
    print word 
 
 
def print_last_word(words): 
    """Prints the last word after popping 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 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 words then prints the first and last one.""" 
    words = sort_sentence(sentence) 
    print_first_word(words) 
    print_last_word(words) 

首先用python ex25.py运行一下,看看有没有报错,如果有请仔细检查并修正。

运行结果
在python解析器中运行。
root@he-desktop:~/mystuff# python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ex25
>>> sentence = "All good things come to those wait."
>>> words = ex25.break_words(sentence)
>>> words
['All', 'good', 'things', 'come', 'to', 'those', 'wait.']
>>> sorted_words = ex25.sort_words(words)
>>> sorted_words
['All', 'come', 'good', 'things', 'those', 'to', 'wait.']
>>> ex25.print_first_word(words)
All
>>> ex25.print_last_word(words)
wait.
>>> words
['good', 'things', 'come', 'to', 'those']
>>> ex25.print_first_word(sorted_words)
All
>>> ex25.print_first_word(sorted_words)
come
>>> ex25.print_last_word(sorted_words)
wait.
>>> sorted_words
['good', 'things', 'those', 'to']
>>> sorted_words = ex25.sort_sentence(sentence)
>>> sorted_words
['All', 'come', 'good', 'things', 'those', 'to', 'wait.']
>>> ex25.print_first_and_last(sentence)
All
wait.
>>> ex25.print_first_and_last_sorted(sentence)
All
wait.
>>>
root@he-desktop:~/mystuff#

分析程序:
先用import导入ex25.py文件,不用.py的后缀,这样你就可以使用这个module里面的所有函数了。
定义sentence变量。
ex25.break_words,使用ex25.py中方法。
打印words,打印出的信息有点怪,这是一个list,马上会学到。
下面的都差不多,都是调用函数,然后打印变量。
有一点要注意,当我们调用打印first和last函数的时候,会把list中的元素删除。

加分练习
1. 注释中指明了每个函数的作用,保证你能理解每个函数。

2. 试一下:help('ex25')和help('ex25.break_words'),这是模块的帮助功能,会打印模块函数中"""包含的注释,后面我们经常用。

3. 可以使用from ex25 import *的方法导入ex25中的所有函数。

4. 你可以使用Ctrl+d结束python解析器。

作者:lixiang0522

相关内容

    暂无相关文章

评论关闭