当前位置: 首页 > 知识库问答 >
问题:

为什么我得到错误:UnboundLocalError:赋值前引用的局部变量'lcm'

凤高澹
2023-03-14

我在找两个数的lcm。但是当我运行这个程序时,我得到了一个错误:UnboundLocalError:在赋值之前引用了本地变量'lcm',为什么我会得到这个错误呢?我不明白我的代码出了什么问题。请帮帮我

这是我的代码:

def compute_lcm( num1, num2):
    
    if num1 > num2:
        greater = num1
        
    else:
        greater = num2
        
        for i in range(1, greater + 1):
            if ( i % num1 ) == 0 and ( i % num2) == 0:
                lcm = i
        print(lcm)
                
compute_lcm( 12, 14)

共有1个答案

薛征
2023-03-14

您得到的错误是因为代码从未满足i%num1==0和i%num2==0,因此从未为LCM设置值。还要注意,代码的第二部分必须在if/else之外。

def compute_lcm(num1, num2):
    if num1 > num2:
        greater = num1
    else:
        greater = num2

    lcm = None
    for i in range(1, greater + 1):
        if i % num1 == 0 and i % num2 == 0:
            lcm = i
    print(lcm)


compute_lcm(12, 14)  # >>> None
 类似资料:
  • 问题内容: 我正在尝试使用XPATH定位器单击包含文本“ Clean feed crm”的span标签。我得到错误: 完整的错误跟踪: 如果我使用绝对完整的XPATH,则效果很好。相对的XPATH显示错误。 可以使用的完整绝对XPATH是: 相对的XPATH不起作用是: HTML是: 我的方法实现是: 从我的TestCase类,我调用方法: Globals.py是: 我也尝试过使用WebDrive

  • 问题内容: 认为我在这里疯了。 给我UnboundLocalError。我在这里错过了什么重要概念? 问题答案: 您正在分配一个全局变量,这意味着您需要将其 标记 为全局变量: 当您在局部范围内分配变量时,除非您先使用一条语句告诉python,否则将假定它是局部变量。

  • 问题内容: 以下代码引发UnboundLocalError: 错误: 我不知道为什么。有人能指出我正确的方向吗? 问题答案: 如果conn.cursor()引发异常,则将永远不会分配cur,因此,finally块中的代码将在分配之前引用cur。 尝试删除该try块并查看会发生什么,很可能conn.cursor()抛出了某种异常,您需要对它进行梳理。

  • 问题内容: 以下代码给出了错误 我怎样才能解决这个问题?谢谢你的帮助! 问题答案: 你可以通过传递参数而不是依赖全局变量来解决此问题

  • 我写了一些代码,通过阅读我的文本文件,找到一组与基因相关的数字,然后用这些数字搜索基因本身,这样我就可以提取一堆包含每个基因的文本文件。我已经成功地得到了数字,但我有问题的文件写作。得到错误“local variable”gene_substring“referenced before assignation”。我做了一些研究,并尝试使用global来修复它,但它在其他地方抛出了错误。 我该怎么解

  • 我甚至不确定这段代码是否能做任何事情,即使它有效,但我不知道该怎么做才能摆脱“从内部类引用的局部变量必须是最终的或有效的最终”错误消息,该错误消息显示在以“fireballRight[i]”开头的三行上。 任何指导将不胜感激,谷歌似乎并没有帮助我。