functions in python query
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'
I am using the last function but the arguments are not accepted by the function. What should be the arguments here? Wha开发者_JS百科t should their types be?
The first argument, of course is self, since this is an instance method. This is passed implicitly.
According to the docstring, the argument the callers should provide is 'actions: A list of actions to take'.
E.g:
instance.getCostOfActions([North, East, South, West])
N.B: You have two lines thus:
def getCostOfActions(self, actions):
def getCostOfActions(self, actions):
The first is replaced by the second.
加载中,请稍侯......
精彩评论