Python文本游戏开发:如何访问嵌套字典中key为item的对应值?
Python文本游戏嵌套字典道具读取方案
核心取值逻辑
你定义的rooms是两层嵌套字典,要获取指定房间的道具可以遵循以下逻辑:
- 第一层字典取当前房间对应的配置:
rooms[当前房间名称变量] - 第二层取道具值时,为了避免部分无道具房间(比如客厅
Living Room没有item键)触发KeyError,优先用dict.get()方法安全取值
可直接复用的功能代码
# 初始化玩家状态 current_room = "Living Room" # 初始出生房间可自行调整 inventory = [] # 背包存储列表 # 进入房间后执行的道具检测与拾取逻辑 room_detail = rooms[current_room] room_item = room_detail.get("item") if room_item: print(f"当前房间[{current_room}]内可拾取道具:{room_item}") # 玩家交互拾取逻辑 pick_input = input("输入Y拾取道具,输入其他内容跳过:").strip().upper() if pick_input == "Y": inventory.append(room_item) # 删除房间内道具,避免重复拾取 del room_detail["item"] print(f"拾取成功!当前背包内容:{inventory}") else: print(f"当前房间[{current_room}]内没有可拾取道具")
补充说明
- 如果不需要删除房间内的道具,去掉
del room_detail["item"]这行即可,玩家可以重复拾取 - 移动房间后只需要更新
current_room变量的值,再重新执行上述检测逻辑即可实现新房间的道具展示
内容的提问来源于stack exchange,提问作者nycmcc
相关产品推荐
相关产品推荐

