【问题标题】:function for scrabble type game not working (MIT 6.0001 pset 3:)拼字游戏的功能不起作用(MIT 6.0001 pset 3:)
【发布时间】:2019-01-24 02:02:45
【问题描述】:

以下代码不执行,我不知道为什么。尝试运行时出现“语法错误”。

SCRABBLE_LETTER_VALUES = {
'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
}


def get_word_score(word, n):
    char_values = 0
    for char in word:
        char_values += SCRABBLE_LETTER_VALUES[char.lower()]
    if 1 >= (7*len(word) - 3*(n-len(word))):
        print (char_values * 1)
    else:
        print (char_values * (7*len(word) - 3*(n-len(word)))



get_word_score('lazxocijhoaewsfj', 5)

【问题讨论】:

  • 哪里失败了?
  • 我忘了在最后加上括号。如果我添加括号,则该函数有效。

标签: python function dictionary for-loop


【解决方案1】:

您在else 中缺少print 语句的右括号:

def get_word_score(word, n):
    char_values = 0
    for char in word:
        char_values += SCRABBLE_LETTER_VALUES[char.lower()]
    if 1 >= (7*len(word) - 3*(n-len(word))):
        print (char_values * 1)
    else:
        print (char_values * (7*len(word) - 3*(n-len(word)))) # <-- Need another )

【讨论】:

    猜你喜欢
    • 2022-07-16
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多