我刚开始学习计算机科学,就被困在对兰顿的蚂蚁编程上。我的蚂蚁需要大致像这样移动一步
白底蝼蚁:东>>>行+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
.