首页 > 解决方案 > docstring 导致函数未定义

问题描述

我在弄清楚为什么我的代码在包含 Docstring 时会失败的问题,特别是在函数上select_level(): 如果我删除 Docstring 并注释掉它可以正常工作,但是如果我包含 Docstring,我会在终端上收到以下错误:

(NameError:名称'select_level'未定义)

def select_level():
    """Defines how a player selects a difficulty, selects questions 
       and answers depending on user input,outputs selections.
    """
    print ("Ready Player One! Select a level.")
    level_name = raw_input("Type in easy, medium or hard\n").lower()
    if level_name=="easy":
        level(easy_level, blanks, easy_answers)
    elif level_name=="medium":
        level(medium_level, blanks, medium_answers)
    elif level_name=="hard":
        level(hard_level, blanks, hard_answers)
    else:
        print ("Please select easy, medium or hard")
    print select_level()

标签: pythonstring

解决方案


我有几个建议:

确保 select_level() 被正确调用并且它确实被定义了。

我问是因为它说

(The error says (NameError: name 'select_level' is not defined).

另外,您是否尝试过在最后一行添加括号?

print(select_level())

推荐阅读