首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

Learn Python The Hard Way学习(26) - 恭贺,可以进行期中考试了

2012-07-15 
Learn Python The Hard Way学习(26) - 恭喜,可以进行期中考试了!我们已经学习到差不多一半了,下半部分会更

Learn Python The Hard Way学习(26) - 恭喜,可以进行期中考试了!
我们已经学习到差不多一半了,下半部分会更加有意思,我们会学习逻辑判断。
在进行下半部分的学习前,我们先做一个测试,这个测试会有点难,我们要修改别人的代码。作为程序员,不可避免要修改别人的代码,而这些人往往认为自己的代码是完美的。
这些人是愚蠢的,并且不在乎别人的感受。好的程序员就像科学家,要经常质疑自己的代码。好的程序员会先怀疑自己的代码错误,并且仔细检查无误后,才得出别人代码有错的结论。
下面的练习就是修改一个坏的程序员的代码。我把24和25节的代码胡乱拷贝到一个文件中,并且随机加了一些错误。大部分错误python都会告诉你,一些算数,格式和拼写错用需要你自己找出来。
所有这些错误都是很容易犯,有经验的程序员也不例外。
在这个练习中,使用自己的经验修复所有错误,让程序能完美运行,不要寻求帮助,如果被卡住了,休息一下再回来解决。
就算需要几天才能完成,也要坚持完成。
拷贝下面网址中的代码到ex26.py中,开始修改吧:

    def break_words(stuff): """This function will break up words for us.""" words = stuff.split(' ') return wordsdef 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 worddef print_last_word(words): """Prints the last word after popping it off.""" word = words.pop(-1) print worddef 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)print "Let's practice everything."print 'You\'d need to know \'bout escapes with \\ that do \n newlines and \t tabs.'poem = """\tThe lovely worldwith logic so firmly plantedcannot discern \n the needs of lovenor comprehend passion from intuitionand requires an explantion\n\t\twhere there is none."""print "--------------"print poemprint "--------------"five = 10 - 2 + 3 - 5print "This should be five: %d" % fivedef secret_formula(started): jelly_beans = started * 500 jars = jelly_beans / 1000 crates = jars / 100 return jelly_beans, jars, cratesstart_point = 10000beans, jars, crates = secret_formula(start_point)print "With a starting point of: %d" % start_pointprint "We'd have %d jeans, %d jars, and %d crates." % (beans, jars, crates)start_point = start_point / 10print "We can also do that this way:"print "We'd have %d beans, %d jars, and %d crabapples." % secret_formula(start_point)sentence = "All god\tthings come to those who weight."words = break_words(sentence)sorted_words = sort_words(words)print_first_word(words)print_last_word(words)print_first_word(sorted_words)print_last_word(sorted_words)sorted_words = sort_sentence(sentence)print sorted_wordsprint_first_and_last(sentence)print_first_and_last_sorted(sentence)

热点排行