【发布时间】:2015-02-08 03:46:32
【问题描述】:
我正在寻找代码最后一行中的错误,但我不知道它是什么。有任何想法吗?
def letterScore( let ):
let.lower()
if let in 'aAnNoOeErRsStTuUiIlL':
return 1
elif let in 'dDgG':
return 2
elif let in 'bBcCpPmM':
return 3
elif let in 'fFhHvVwWyY':
return 4
elif let in 'kK':
return 5
elif let in 'jJxX':
return 8
elif let in 'qQzZ':
return 10
else:
return 0
def scrabbleScore( s ):
return letterScore(s[0]) + scrabbleScore(s[1:len(s)])
【问题讨论】:
-
正如 alfasin 提到的,
let.lower()不会改变let:它不能因为 Python 字符串是不可变的。但是,如果您执行let = let.lower(),则会创建一个新字符串,并且该新字符串将绑定到名称let。
标签: python debugging recursion computer-science