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

Python实现变量值重复赋值检测(文本冒险场景)

实现文本冒险游戏的房间“已熟悉”检测功能

我们可以利用Python的集合来高效跟踪已访问过的房间,快速判断当前房间是否是首次进入。

核心思路

  • 用一个集合存储所有已经进入过的房间名称(集合自动去重,且查询效率高)
  • 每次切换房间时,先检查目标房间是否在集合内:
    • 存在则返回True(已熟悉,仅显示房间名)
    • 不存在则返回False(首次进入,显示完整描述),同时将该房间加入集合

代码实现

# 初始化存储已访问房间的集合
visited_rooms = set()

def is_familiar_room(room_name):
    if room_name in visited_rooms:
        return True
    visited_rooms.add(room_name)
    return False

# 测试示例
room = "kitchen"
print(f"room = '{room}' #{is_familiar_room(room)}")  # 输出: room = 'kitchen' #False

room = "living room"
print(f"room = '{room}' #{is_familiar_room(room)}")  # 输出: room = 'living room' #False

room = "kitchen"
print(f"room = '{room}' #{is_familiar_room(room)}")  # 输出: room = 'kitchen' #True

room = "living room"
print(f"room = '{room}' #{is_familiar_room(room)}")  # 输出: room = 'living room' #True

room = "dungeon"
print(f"room = '{room}' #{is_familiar_room(room)}")  # 输出: room = 'dungeon' #False

额外说明

  • 集合的in操作时间复杂度为O(1),比用列表存储(O(n))更适合频繁的房间切换场景
  • 你可以把is_familiar_room函数嵌入到场景切换的逻辑里,根据返回值控制显示内容:比如返回False时打印完整场景描述,返回True时只打印房间名称

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 14:50:34