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
补充:Web开发 , Python ,