python - Python 3 字典返回不同的值
问题描述
我正在制作一个小型文本 rpg 游戏来练习 python 并实现我需要做的事情。这是我的第一个问题,我还没有强大的 python 基础。我有一个嵌套字典,我想从字典中打印一个值,但我得到一个完全不同的值。为什么会这样?
ZONENAME = ""
DESCRIPTION = "description"
EXAMINATION = "info"
ANSWER = ""
SOLVED = False
UP = "up", "north"
DOWN = "down", "south"
LEFT = "left", "west"
RIGHT = "right", "east"
zonemap = {
"a1": {
ZONENAME: "Hometown",
DESCRIPTION : "ioioi",
EXAMINATION : "---",
SOLVED : False,
ANSWER : "",
UP : "i",
DOWN : "i",
LEFT : "i",
RIGHT : "a2",
},
"a2": {
ZONENAME : "ii",
DESCRIPTION : "....",
EXAMINATION : "....",
ANSWER : "your name",
SOLVED : False,
UP : "i",
DOWN : "i",
LEFT : "i",
RIGHT : "a3",
}
}
print(zonemap["a2"][ZONENAME])
解决方案
阐述 Andrej 的评论:
ZONENAME
并且ANSWER
都是空字符串。当您将这些用作 中的键时zonemap["a2"]
,键是""
(一个空字符串),而不是 "ZONENAME"
or "ANSWER"
。因此,您首先将值分配给"ii"
键""
,然后将值分配给"your name"
键""
。当您尝试通过 访问区域名称时zonemap["a2"][ZONENAME]
,您实际上是在访问zonemap["a2"][""]
,其中包含值"your name"
。
推荐阅读
- angular - 转换为角度后滑块不工作
- python - 将 cURL 命令转换为 python 请求的问题
- scala - 从scala中的地图向量中提取值
- mongodb - 如何在我的 Linode VPS 上访问我的 MongoDB?
- reactjs - 为什么即使状态/依赖项发生了变化,应用程序也不会重新渲染
- compilation - Babel --out-file 在子文件夹中
- javascript - JS:用过滤器、映射或 foreach 替换 for 循环
- reactjs - 将所有路由重定向到一个页面
- bash - BASH 中的单元测试(检查脚本输出)
- javascript - 无法在 Autodesk Forge 中获取 AEC 模型数据