Python调用函数异常

mouyang 发布于 2014/11/08 19:04
阅读 289
收藏 0

SCRABBLE_LETTER_VALUES = {
    'a': 1, 'b': 3, 'c': 3, 'd': 2, 'e': 1, 'f': 4, 'g': 2, 'h': 4, 'i': 1, 'j': 8, 'k': 5, 'l': 1, 'm': 3, 'n': 1, 'o': 1, 'p': 3, 'q': 10, 'r': 1, 's': 1, 't': 1, 'u': 1, 'v': 4, 'w': 4, 'x': 8, 'y': 4, 'z': 10
}

def get_word_score(word, n):

    score = 0

    for letter in word:
        score = score + SCRABBLE_LETTER_VALUES[letter]

    if len(word) == n:
        score += 50
   
    return score

上面是我在一个文件(ps5.py)里定义的函数get_word_score。在这个文件里调用这个函数可以正常返回值。score = get_word_score('waybill', 7)返回65。但是在另一个测试文件(test_ps5.py)里同样的方法调用这个函数返回None。

这是为什么?

加载中
0
nanlong
nanlong
#! /usr/bin/env python
# -*- coding: utf-8 -*-
SCRABBLE_LETTER_VALUES = {
    'a': 1, 'b': 3, 'c': 3, 'd': 2, 'e': 1, 'f': 4, 'g': 2, 'h': 4, 'i': 1, 'j': 8, 'k': 5, 'l': 1, 'm': 3, 'n': 1, 'o': 1, 'p': 3, 'q': 10, 'r': 1, 's': 1, 't': 1, 'u': 1, 'v': 4, 'w': 4, 'x': 8, 'y': 4, 'z': 10
}


def get_word_score(word, n):
    score = map(lambda x: SCRABBLE_LETTER_VALUES.get(x, 0), word)
    score.append(50 if len(word) == n else 0)
    return sum(score)


if __name__ == '__main__':
    print get_word_score('waybill', 7)



返回顶部
顶部