def directionToVector(direction, speed = 1.0):
dx, dy = Actions._directions[direction]
return (dx * speed, dy * speed)
def getCostOfActions(self, actions):
"""
Returns the cost of a particular sequence of actions. If those actions
include an illegal move, return 999999. This is implemented for you.
"""
if actions == None: return 999999
x,y= self.startingPosition
for action in actions:
dx, dy = Actions.directionToVector(action)
x, y = int(x + dx), int(y + dy)
if self.walls[x][y]: return 999999
return len(actions)
def getCostOfActions(self, actions):
"""
actions: A list of actions to take
This method returns the total cost of a particular sequence of actions.
The sequence must be composed of legal moves
"""
File "in getCostOfActions
dx, dy = Actions.directionToVector(action)
File in directionToVector
dx, dy = Actions._directions[direction]
KeyError: 'N'
我正在使用最后一个函数,但函数不接受参数。这里的论据应该是什么?他们的类型应该是什么?在
第一个参数,当然是
self
,因为这是一个实例方法。这是隐式传递的。在根据
docstring
,调用者应该提供的参数是“actions:A列出要采取的操作”。在例如:
注:你有两条线,因此:
^{pr2}$第一个被第二个取代。在
相关问题 更多 >
编程相关推荐