笨办法学Python习题48

笨办法学Python习题48

最近在看《笨办法学Python》,一口气看到48章了,看了一些网上的例子都没有通过前一章的自动化测试,自己改了一版,仅供参考

direction = ('north', 'south', 'east', 'west', 'up', 'down', 'up', 'left', 'right', 'back')
verb = ('go', 'stop', 'kill', 'eat')
stop = ('the', 'in', 'of', 'from', 'at', 'it')
noun = ('door', 'bear', 'princess', 'cabinet')

class lexicon(object):
  def scan(self):
    i = 0
    output = []    
    splited_words = self.split()
    for i in range(0,len(splited_words)):
        if splited_words[i] in direction:
            output.append(('direction',splited_words[i]))
        elif splited_words[i] in verb:
            output.append(('verb',splited_words[i]))
        elif splited_words[i] in stop:
            output.append(('stop',splited_words[i]))
        elif splited_words[i] in noun:
            output.append(('noun',splited_words[i]))
        else:
            try:
                int(splited_words[i])
                output.append(('number',int(splited_words[i])))
            except:
                output.append(('error',splited_words[i]))
        i += 1
    return(output)

在自动化测试界面,6轮测试全部通过

几项注意点:

  1. 在lexicon_test导入模块的时候出错,因为我的代码名字和文件夹的名字都改成了ex48,程序找不到模块。改写如下代码就不报错了。
from ex48.ex48 import lexicon
  1. 在测试程序中可以看到,要求输出的是列表,里面的元素是元组,所以一定要注意这个格式。
output.append(('direction',splited_words[i]))
  1. 这里是双括号,如果少了一对会报错。外层括号表示append的内容,内侧括号表示列表里新增的是一个元组。

  2. 注意数字的判定

  3. 注意对齐和空格缩进

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值