使用字典获得拼字游戏单词的总分

问题描述 投票:0回答:3

我很难为我正在上的课程回答这个问题。在这个问题中,我必须使用包含带有点的字母的字典来编写程序。因此,输入的任何单词,我都必须输出点数。我使用的程序是Python。

这些是说明:

拼字游戏是一种文字游戏,其中单词由字母块构成,每个字母块包含一个点值。单词的值是每个图块的分数加上该单词在游戏板上的位置所提供的任何分数的总和。*

使用给定的字母和点值字典编写一个程序,以单词作为输入并输出该单词的基本总值(在放在板上之前)。*

例如:

if the input is PYTHON

the output is 14

这是已经为我写的:

tile_dict = { 'A': 1, 'B': 3, 'C': 3, 'D': 2, 'E': 1, 'F': 4, 'G': 2, 'H': 4, 'I': 1, 'J': 8, 
          'K': 5, 'L': 1, 'M': 3, 'N': 1, 'O': 1, 'P': 3, 'Q': 10, 'R': 1, 'S': 1, 'T': 1, 
          'U': 1, 'V': 4, 'W': 4, 'X': 8, 'Y': 4, 'Z': 10 } 

所以现在,我只需编写一个代码来输出输入的任何单词的分数。我不知道从哪里开始......

python dictionary scrabble
3个回答
1
投票

你可以逐个字符枚举单词char,然后使用这个字符作为

tile_dict
字典的键来获取字符值。您可以使用
sum()
函数对这些值求和:

word = "PYTHON"

cnt = sum(tile_dict[char] for char in word)
print(cnt)

打印:

14

0
投票

如果输入是

PYTHON
,

输出为:

PYTHON is worth 14 points.

tile_dict = { 'A': 1, 'B': 3, 'C': 3, 'D': 2, 'E': 1, 'F': 4, 'G': 2, 'H': 4, 'I': 1, 'J': 8, 
              'K': 5, 'L': 1, 'M': 3, 'N': 1, 'O': 1, 'P': 3, 'Q': 10, 'R': 1, 'S': 1, 'T': 1, 
              'U': 1, 'V': 4, 'W': 4, 'X': 8, 'Y': 4, 'Z': 10 }    

word = input()

cnt = sum(tile_dict[char] for char in word)
print(f'{word} is worth {cnt} points.')

0
投票
def isPalindrome(S):
  if S[0] == S[-1]
    return print("True")
  elif S[0] == S[-1] and S[1] == S[-2] :
    return print("True")
  else:
    return print("False")
© www.soinside.com 2019 - 2024. All rights reserved.