python .lower() 不工作
python .lower() is not working
我不知道我做错了什么,但是我的 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')
有帮助吗?
您必须将 lower()
的结果分配回 word,因为字符串是 immutable:
In [152]:
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 = word.lower() #<------ here assign back
print(word)
total =0
for i in word:
total += score[i]
return total
print(scrabble_score('Helix'))
helix
15
查看相关内容:Why are Python strings immutable? Best practices for using them
做:
word = word.lower()
因为lower()
没有修改原始字符串
这是因为你没有给word转小写后赋值。所以它仍然具有旧值 "Helix"
word = word.lower()
我不知道我做错了什么,但是我的 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')
有帮助吗?
您必须将 lower()
的结果分配回 word,因为字符串是 immutable:
In [152]:
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 = word.lower() #<------ here assign back
print(word)
total =0
for i in word:
total += score[i]
return total
print(scrabble_score('Helix'))
helix
15
查看相关内容:Why are Python strings immutable? Best practices for using them
做:
word = word.lower()
因为lower()
没有修改原始字符串
这是因为你没有给word转小写后赋值。所以它仍然具有旧值 "Helix"
word = word.lower()