我正在编写我的小型拼字游戏。我要做的是从txt文件中打印最高分数(只有一个)。
这是我的代码:
letter_score = {'a' : 1, 'e' : 1, 'o' : 1,
'i' : 1, 'n' : 1, 'r' : 1,
'l' : 1, 't' : 1, 'l' : 1,
's' : 1, 'n' : 1, 'd' : 2,
'u' : 2,
'g' : 2, 'b' : 3, 'c' : 3,
'm' : 3, 'p' : 3, 'f' : 4,
'h' : 4, 'v' : 4, 'w' : 4,
'y' : 4, 'k' : 5, 'j' : 8,
'x' : 8, 'q' : 10, 'z' : 10
}
max_word, max_score = '', 0
with open('dictionary.txt') as file:
for line in file:
words = line.split()
for word in words:
word_value = 0
if word.isalpha():
for letter in word:
word_value += letter_score[letter]
if word_value > max_score:
max_word = word
max_score = word_value
print(max_score)
但这是从字典txt文件中打印所有值。我只希望它从txt文件中打印一个最高的值。有人可以帮忙吗?
答案 0 :(得分:0)
您的打印声明放置在错误的位置。当前在哪里,值都会在每次读取一行时打印一次。
with open('dictionary.txt') as file:
for line in file:
words = line.split()
for word in words:
word_value = 0
if word.isalpha():
for letter in word:
word_value += letter_score[letter]
if word_value > max_score:
max_word = word
max_score = word_value
print(max_score)
print(max_word)
答案 1 :(得分:-2)
您可以对所有Difirence值做出决定,然后在该决定中选择biggist之一