0
非常に単純なPythonスクリプトをテストしています。どのような機能がないことは、私の質問には重要ではない私の質問には、次のコードは、何らかの形で私に与えている:Python変数スコープ、代入前に参照される変数
File "test.py", line 13, in traverse
if root.val > minVal and ans > root.val:
UnboundLocalError: local variable 'ans' referenced before assignment
をしかし、私はans
が定義されていない、なぜそれがおよそminVal
を訴えるが、約ans
をしないのですか?あなたの関数traverse
インサイド
class Test(object):
def findSecondMinimumValue(self, root):
"""
:type root: TreeNode
:rtype: int
"""
minVal = root.val
ans = float("inf")
def traverse(root):
if not root:
return
if root.val > minVal and ans > root.val:
ans = root.val
traverse(root.left)
traverse(root.right)
traverse(root)
return ans if ans != float("inf") else -1
結果として 'ans = ...'を指定すると、Pythonは 'traverse'関数の' ans 'をローカルとして認識します。参照を設定するだけなので、この割り当てはここでは使用しないことに注意してください。 –
ああ、お元気ですか、あなたの答えをありがとう、私は今それを得た! – user2002692