我正在尋找代碼最後一行中的錯誤,但我無法弄清楚它是什麼。有任何想法嗎?遞歸基礎案例失敗
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。 – 2015-02-08 04:18:15