“你好!Python“重构了Wumpus游戏的空列表,陷入了循环

2024-09-25 00:22:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我跟着“你好!Python“book and I'm still on'清单2.10-重构的wumpus游戏。”

我已经创建了我的函数,并删除了之前版本的“多余”代码,我们是按照这本书创建的。在

现在,在第一次调用print_caves函数后,我陷入了一个循环中,并返回了一个空白数组。我得到的是:

Welcome to the Wumpus!
...
 === of the cave you wish to enter next
0 : []
1 : []
2 : []
...
19 : []
----------

这是我的密码。在

^{pr2}$

Tags: andtheto函数代码版本游戏on
2条回答

你的setup_caves函数会创建一堆空洞穴。在

也许你还想在打印之前链接并完成洞穴?在


林丘洞穴的凹痕似乎消失了。在

你会注意到你在create_tunnel中有一个打字错误:caves[cave_from].append.cave(cave_to)应该是caves[cave_from].append(cave_to)

这从未导致错误这一事实表明您的link_caves出了问题,因为它是调用create_tunnel的函数。我相信您希望将最后两行移到while语句中:

def link_caves():
    """ Make sure that all of the caves are connected by two way tunnels """
    while unvisited_caves != []:
        this_cave = choose_cave(visited_caves)
        next_cave = choose_cave(unvisited_caves)
        create_tunnel(this_cave, next_cave)
        visit_cave(next_cave)

事实上,没有一个洞穴被标记为已访问,这意味着未访问的洞穴列表从未缩小,因此while语句将永远运行。在

如果进行这两个更改,代码将运行:

^{pr2}$

相关问题 更多 >