Learn Python the Hard Way ex48

问题原有网页:http://learnpythonthehardway.org/book/ex48.html

代码可以这样写:

#class lexicon(object):
#    def __init__(self):
#        self.result=[]
        
def scan(sentence):
        result = []
        words=sentence.split()
        length = len(words);
        while words:
            if words[0] in ['east','west','north','south']:
                result.append(('direction',words[0]))
            elif words[0] in ['go', 'kill', 'stop','eat']:
                result.append(('verb',words[0]))
            elif words[0] in ['door','bear','princess','cabinet']:
                result.append(('noun',words[0]))
            elif words[0] in['the','in','of','from','at','it']:
                result.append(('stop',words[0]))
            elif convert_number(words[0]):
                num = int(words[0])
                result.append(('number',num))
            else:
                result.append(('error',words[0]))
            words = words[1:]
        return result
        
def convert_number(s):
        try:
            return int(s)
        except ValueError:
            return None        
    


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值