我不知道我在做什么错,但是我的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')
Run Code Online (Sandbox Code Playgroud)
一些帮助?
lower()由于字符串是不可变的,因此您必须将back 的结果分配给word :
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
Run Code Online (Sandbox Code Playgroud)
请参阅相关内容:为什么Python字符串是不可变的?使用它们的最佳实践
| 归档时间: |
|
| 查看次数: |
13182 次 |
| 最近记录: |