【发布时间】:2015-04-30 03:13:33
【问题描述】:
我不知道我做错了什么,但是我的python代码中的函数 .lower() 不起作用!
这是一个愚蠢的代码,但它不会降低单词的大小写:
score = {"a": 1, "c": 3, "b": 3, "e": 1, "d": 2, "g": 2,
"f": 4, "i": 1, "h": 4, "k": 5, "j": 8, "m": 3,
"l": 1, "o": 1, "n": 1, "q": 10, "p": 3, "s": 1,
"r": 1, "u": 1, "t": 1, "w": 4, "v": 4, "y": 4,
"x": 8, "z": 10}
def scrabble_score(word):
word.lower()
print word
total =0
for i in word:
total += score[i]
return total
print scrabble_score('Helix')
有什么帮助吗?
【问题讨论】:
-
试试
word = word.lower() -
应该是
word = word.lower() -
word = word.lower()因为字符串是不可变的。 -
调用
word.lower()后,在打印单词时看到的错误应该很明显了 -
您在这里有很多答案,但没有一个能真正解释为什么会发生这种情况。这是因为 python 字符串是不可变的。这意味着您不能就地更改它们,只需对其进行更改副本并将其分配给其他变量或自身。 Python 有可变变量,即列表。