【问题标题】:Using a dictionary to get total points for a scrabble word使用字典获取拼字游戏单词的总分
【发布时间】:2021-06-28 23:37:23
【问题描述】:

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

这些是说明:

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

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

前:

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


    【解决方案1】:

    可以逐个字符枚举单词char,然后用这个char作为tile_dict字典的key来获取字符值。您可以将这些值与sum() 函数相加:

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

    打印:

    14
    

    【讨论】:

    • 这非常有效!感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    相关资源
    最近更新 更多