python - 即使使用全局变量也未定义

标签 python python-3.x

我在“helper”函数之外声明了一个变量“gmax”。 我在辅助函数中做了“全局 gmax”。 但它仍然说变量 gmax 未定义。

class Solution:
    def minimumTotal(self, triangle: List[List[int]]) -> int:
        gmax = float('inf') 
        def helper(row,col,cur_sum):
            global gmax
            if row==len(triangle):
                if gmax > cur_sum:
                    gmax = cur_sum
                return

            val1 = triangle[row][col]
            val2 = triangle[row][col+1] if col+1<len(triangle[row]) else float('inf')
            cur_sum += min(val1,val2)
            idx = col if val1<val2 else col+1
            helper(row+1, idx, cur_sum)

        helper(0,0,0)
        return gmax

输出显示“第 7 行:名称 'gmax' 未定义”

最佳答案

它在gmax离开类时运行。

gmax = float('inf')  # global variable is outside

class Solution:
    def minimumTotal(self, triangle: List[List[int]]) -> int:

        def helper(row, col, cur_sum):
            global gmax
            if row == len(triangle):
                if gmax > cur_sum:
                    gmax = cur_sum
                return

            val1 = triangle[row][col]
            val2 = triangle[row][col + 1] if col + 1 < len(triangle[row]) else float('inf')
            cur_sum += min(val1, val2)
            idx = col if val1 < val2 else col + 1
            helper(row + 1, idx, cur_sum)

        helper(0, 0, 0)
        return gmax

关于python - 即使使用全局变量也未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58140419/

相关文章:

python - 打印 Tensor 时为 "args_0:0"

python - 使用勒让德多项式在极坐标中构建并绘制 Matplotlib 二维直方图

python - 根据从 python 中的其他两个字符串列应用的条件创建一个新列

python - 开始菜单运行缓慢。是什么原因?

python - 如何在 python 日志记录中过滤标准输出

python - 优化求解时返回函数调用和其他信息

python - 当组来自多索引级别时,按列聚合过滤分组的 Pandas 数据帧

python-3.x - Odoo 11 安装在 CentoS 7 上

python-3.x - 取消酸洗错误 : invalid load key, '\x0a'

python - pytesseract : FileNotFound