如何让兰顿的蚂蚁在 Python 中迈出一步



我刚开始学习计算机科学,就被困在对兰顿的蚂蚁编程上。我的蚂蚁需要大致像这样移动一步

白底蝼蚁:东>>>行+1、南>>>列-1

、西>>>行-1、北>>>列+1

黑底蚂蚁 朝向:东>>>行-1、南>>>列+1、西>>>行+1、北>>>列-1

def ant_coordinates(ant_row, ant_col, orientation):
    color = orig_grid[ant_row][ant_col]
    if color == 'white':
        orientation == 'East'
        ant_row += 1
        orientation == 'South'
        ant_col -= 1
    return ant_row, ant_col, orientation

当我把南方作为方向时,我的东西在行部分添加一个

您正在测试平等性,但没有对它做任何事情,与那些==.您需要的是:

def ant_coordinates(ant_row, ant_col, orientation):
    color = orig_grid[ant_row][ant_col]
    if color == 'white':
        if orientation == 'East':
            ant_row += 1
        elif orientation == 'South':
            ant_col -= 1
    return ant_row, ant_col, orientation

我不确定这个函数的实际行为应该是什么,但它要做的是:

如果颜色不是白色,只需返回所有参数不变。

如果颜色为白色,方向为东,则返回行 += 1 的所有参数。

如果颜色为白色,方向为南,则返回 col -= 1 的所有参数。

如果颜色为白色,方向为其他,则返回所有参数不变。您显然可以扩展此功能以添加其他方向的功能。

您的代码现在所做的是:

def ant_coordinates(ant_row, ant_col, orientation):
    color = orig_grid[ant_row][ant_col]
    if color == 'white': # goes in here if color is white
        orientation == 'East' # returns True or False, value not used anywhere
        ant_row += 1 # always increments row if color is white
        orientation == 'South' # returns True or False, value not used anywhere
        ant_col -= 1 # always decrements col if color is white
    return ant_row, ant_col, orientation

希望这有帮助! ==只是一个比较,并不意味着if.

相关内容

  • 没有找到相关文章

最新更新