python 笔记 小试身手 修正代码 《笨办法学Python》习题26 ——12.31

昨天装了一天oracle rac可是没啥成果,很烦,今天练习下python调节下情绪。


习题 26: 恭喜你,现在可以考试了!

 

目标与感悟:

•总体来说,感觉考试并不难,并没有花太多时间。

•可以多次运行会提示其所在错误行数与字符。

•且作者题目中思路很清晰、有条理,让人容易顺藤摸瓜。

 

错误解析:

ex26_1.py

#-*-coding:utf-8-*-
# import ex25,这一点想了很久,因为在82行引用了ex25的文件,但是没有定义也没有导入,后来看书的提示才觉得应该有个引用
#另外,既然导入了,本文件夹下就应该有此文件(ex25.py)
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.poop(0)#pop,打错
    print word
 
def print_last_word(words):
    """Prints the last word after popping it off."""
    word = words.pop(-1 #少个括号应该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)
 
 
print "Let's practice everything."
print 'You\'d need to know \'bout escapes with \\ that do \n newlines and \t tabs.'
 
poem = """
\tThe lovely world
with logic so firmly planted
cannot discern \n the needs of love
nor comprehend passion from intuition
and requires an explantion
\n\t\twhere there is none.
"""
 
 
print "--------------"
print poem
print "--------------"
 
five = 10 - 2 + 3 - 5
print "This should be five: %s" % five
 
def secret_formula(started):
    jelly_beans = started * 500
    jars = jelly_beans \ 1000  #嗯,这是什么鬼,除法不是这样用的
    crates = jars / 100
    return jelly_beans, jars, crates
 
 
start_point = 10000
beans, jars, crates == secret_formula(start-point)#等于号多打了个
 
print "With a starting point of: %d" % start_point
print "We'd have %d jeans, %d jars, and %d crates." % (beans, jars, crates)
 
start_point = start_point / 10
 
print "We can also do that this way:"
print "We'd have %d beans, %d jars, and %d crabapples." % secret_formula(start_pont #少带括号,且上面定义的变量很清楚,是start_point
 
 
sentence = "All god\tthings come to those who weight."
 
words = ex25.break_words(sentence)
sorted_words = ex25.sort_words(words)
 
print_first_word(words)
print_last_word(words)
.print_first_word(sorted_words)
print_last_word(sorted_words)
sorted_words = ex25.sort_sentence(sentence)
prin sorted_words   #print
 
print_irst_and_last(sentence) #print_first_and_last
 

print_first_a_last_sorted(senence)#print_first_and_last_sorted,且应该顶格写,不能加水平制表符


修改完毕:

ex26.py

#-*-coding:utf-8-*-
import ex25
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)
 
 
print "Let's practice everything."
print 'You\'d need to know \'bout escapes with \\ that do \n newlines and \t tabs.'
 
poem = """
\tThe lovely world
with logic so firmly planted
cannot discern \n the needs of love
nor comprehend passion from intuition
and requires an explantion
\n\t\twhere there is none.
"""
 
 
print "--------------"
print poem
print "--------------"
 
five = 10 - 2 + 3 - 5
print "This should be five: %s" % five
 
def secret_formula(started):
    jelly_beans = started * 500
    jars = jelly_beans / 1000
    crates = jars / 100
    return jelly_beans, jars, crates
 
 
start_point = 10000
beans, jars, crates = secret_formula(start_point)
 
print "With a starting point of: %d" % start_point
print "We'd have %d jeans, %d jars, and %d crates." % (beans, jars, crates)
 
start_point = start_point / 10
 
print "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 = ex25.break_words(sentence)
sorted_words = ex25.sort_words(words)
 
print_first_word(words)
print_last_word(words)
print_first_word(sorted_words)
print_last_word(sorted_words)
sorted_words = ex25.sort_sentence(sentence)
print sorted_words
 
print_first_and_last(sentence)
 

print_first_and_last_sorted(sentence)

运行结果:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值