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.
精彩评论