我正在为 Langton Ant 模拟器编写背景代码,但是我遇到的问题不需要了解问题本身,所以不用担心。
有用的信息包括:变量 'grid' 总是对应于一些列表列表,例如:
grid = [['black', 'black'], ['white', 'black'],['black', 'white']]
另外,我已经定义了以下 2 个字典:
Dict_White= {'North':'East','East':'South','South':'West','West':'North'}
Dict_Black= {'North':'West','West':'South','South':'East','East':'North'}
这是困扰我的功能:
def orientation_and_colour_change(ant_row,ant_col,orientation):
if grid[ant_row][ant_col]=='Black':
grid[ant_row][ant_col]='White'
orientation=Dict_Black[orientation]
elif grid[ant_row][ant_col]=='White':
grid[ant_row][ant_col]='Black'
orientation=Dict_White[orientation]
return orientation
很清楚该函数的预期用途是什么,即获取网格中的“位置”和“方向”,并输出其新的方向,这实际上只是字典中键的值。此外,它应该调整其中一个网格条目本身,即“黑色”到“白色”或“白色”到“黑色”。但是,我遇到的问题如下:
方向返回始终与输入相同,并且显然不是通过函数返回字典的值,而不是输入的Key。
其次,该功能没有按预期编辑预定义的网格。
知道为什么会出现这些问题吗?
编辑:这是一个简单的大写字母与非大写字母不平等问题。将保留上述未经编辑的内容作为我疏忽的证据。干杯彼得德格洛珀!