开发者

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜