我如何找出哪些参数映射到哪些变量?
How can I figure out which parameters map to which variables?
如果我可以检查哪些变量分配给哪些参数,我的生活会容易得多。
行中:
self.manager.addState("", [0,0]) # start with 2 empty buckets
addState
方法在 manager
class 中定义为采用 2 个参数。它在 playGame
方法中被调用。我无法理解签名中的哪些参数映射到调用中的哪些参数。
def addState (self, parentState, newState) :
"add state if it's new. Remember its parent"
if self.seen.has_key(str(newState)) : return
self.seen[str(newState)] = str(parentState)
self.queue.append (newState)
在下面的代码中,如果我假设 newState
对应于 [0,0]
因为它不是奇异值(我不确定 ""
映射到什么)那么这个代码根本不应该 运行。
self.manager.addState("", [0,0]) # start with 2 empty buckets
问题:
我的理解正确吗?
检查此 运行ning 状态的最简单方法是什么,以便我可以验证哪些参数映射到哪些参数?
问题link:
http://www.openbookproject.net/py4fun/buckets/buckets.py
But if i assume that [0,0] corresponds to parentState and newState then how "" is passed as parameter in
这个假设是你的问题。
[0,0]
是newState
的值,""
是parentState
的值
在您链接的示例中,世界状态由一维数组表示。世界的初始状态是两个由 [0,0]
表示的桶,并且有一个由 ""
表示的 null
状态仅在游戏开始时适用。
检查事物状态的一种非常简单的方法是使用 pdb
def addState (self, parentState, newState) :
"add state if it's new. Remember its parent"
# Let's augment this by adding a breakpoint
import pdb; pdb.set_trace()
if self.seen.has_key(str(newState)) : return
self.seen[str(newState)] = str(parentState)
self.queue.append (newState)
#print '--- Adding ', newState
现在,当您 运行 来自 python 解释器 pdb
的这段代码将中断这些行,您可以检查发生了什么。
(Pdb) parentState
""
(Pdb) newState
[0,0]
如果我可以检查哪些变量分配给哪些参数,我的生活会容易得多。
行中:
self.manager.addState("", [0,0]) # start with 2 empty buckets
addState
方法在 manager
class 中定义为采用 2 个参数。它在 playGame
方法中被调用。我无法理解签名中的哪些参数映射到调用中的哪些参数。
def addState (self, parentState, newState) :
"add state if it's new. Remember its parent"
if self.seen.has_key(str(newState)) : return
self.seen[str(newState)] = str(parentState)
self.queue.append (newState)
在下面的代码中,如果我假设 newState
对应于 [0,0]
因为它不是奇异值(我不确定 ""
映射到什么)那么这个代码根本不应该 运行。
self.manager.addState("", [0,0]) # start with 2 empty buckets
问题:
我的理解正确吗?
检查此 运行ning 状态的最简单方法是什么,以便我可以验证哪些参数映射到哪些参数?
问题link: http://www.openbookproject.net/py4fun/buckets/buckets.py
But if i assume that [0,0] corresponds to parentState and newState then how "" is passed as parameter in
这个假设是你的问题。
[0,0]
是newState
的值,""
是parentState
在您链接的示例中,世界状态由一维数组表示。世界的初始状态是两个由 [0,0]
表示的桶,并且有一个由 ""
表示的 null
状态仅在游戏开始时适用。
检查事物状态的一种非常简单的方法是使用 pdb
def addState (self, parentState, newState) :
"add state if it's new. Remember its parent"
# Let's augment this by adding a breakpoint
import pdb; pdb.set_trace()
if self.seen.has_key(str(newState)) : return
self.seen[str(newState)] = str(parentState)
self.queue.append (newState)
#print '--- Adding ', newState
现在,当您 运行 来自 python 解释器 pdb
的这段代码将中断这些行,您可以检查发生了什么。
(Pdb) parentState
""
(Pdb) newState
[0,0]