python - 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()
解决方案
我有几个建议:
确保 select_level() 被正确调用并且它确实被定义了。
我问是因为它说
(The error says (NameError: name 'select_level' is not defined).
另外,您是否尝试过在最后一行添加括号?
print(select_level())
推荐阅读
- javascript - 更新数组反应钩子中数组的状态 onChange
- if-statement - 创建嵌套 if 语句。如果单元格 K2 或 D2 在
- python - 将多个蜘蛛的输出捕获到单个输出文件/变量中的正确“抓取”方式是什么?
- powershell - 枚举给定 ProgID 的 COM 对象公开的方法和属性
- java - 如何在android应用程序中删除全屏模式
- ajax - 通过 sente web-socket 通道对应该是单个请求的不间断请求
- python - 如何在 Python 中使用 Paramiko 连接到公共 FTP 服务器?
- javascript - Vanilla JavaScript for-of 循环不会完成所有迭代
- deep-learning - 损失之间的权衡?
- c++ - 未解析的外部使用 fmt::format 返回 std::wstring