You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何利用字典实现基于用户输入的位置移动校验逻辑?

实现方案

你不需要手动写每个位置的if判断,直接利用字典的key存在性校验就能实现逻辑,还能适配后续新增的位置和方向,不用改判断代码。

完整可运行代码

levels = {
    'Closet': {'South': 'Hangar'},
    'Hangar': {'North': 'Closet', 'East': 'Westwood'},
    'Westwood': {'West': 'Hangar'}
}

location = "Closet"
# 打印当前位置和可选方向,方便用户输入
print(f"当前位置:{location},可选方向:{'、'.join(levels[location].keys())}")
direction = input("请输入移动方向:").strip()

# 校验&移动逻辑
if location in levels:
    valid_directions = levels[location]
    if direction in valid_directions:
        # 更新位置
        location = valid_directions[direction]
        # 直接读取新位置的所有合法方向
        choices = list(levels[location].keys())
        print(f"移动成功!新位置:{location},当前可选方向:{'、'.join(choices)}")
    else:
        print(f"输入方向不合法,当前位置仅支持:{'、'.join(valid_directions.keys())}")
else:
    print("当前位置不存在于地图配置中")

逻辑说明

  • 直接通过location in levels判断当前位置是否在地图配置里,不用写死位置判断条件
  • 每个位置支持的方向直接取对应字典的key校验,不需要为每个位置单独写方向判断
  • 移动后的新位置和可选方向全部从levels字典动态读取,后续新增地图节点只需要修改levels的配置,不需要调整逻辑代码

运行效果示例

当你输入South时,输出为:
移动成功!新位置:Hangar,当前可选方向:North、East

完全匹配你需要的实现效果。

内容的提问来源于stack exchange,提问作者Christos Nikitopoulos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 17:06:04