【问题标题】:Global function is not defined全局函数未定义
【发布时间】:2015-11-13 00:27:50
【问题描述】:

我在定义我的模块时遇到了这个错误。我正在尝试通过动态编程方法编写一个编辑距离问题的程序。

这是我卡住的模块:

def cost(i,j,M,w,text,pattern,compare): #Defining the cost functions or can say recurrence formula
    M[0,j]=0
    text1=list(text)
    pattern1=list(pattern)

    for i in range(1,m+1):
        for j in range(1,n+1):
            insertions = M[i-1,j]+1
            deletions = M[i,j-1]+1
            matches=M[i-1,j-1]


    if text1[i]==patttern1[j]:
        matches = matches+1
        return matches
    else :
        return matches 

错误是:

Traceback(最近一次调用最后一次):文件 “/Users/sayaneshome/Documents/plschk.py”,第 202 行,在 fill(M, w, text, max) #用分数文件填充矩阵M “/Users/sayaneshome/Documents/plschk.py”,第 117 行,填充 c = 成本(i,j,M,w,文本,模式,比较)文件 “/Users/sayaneshome/Documents/plschk.py”,第 95 行,成本如果 text1[i]==patttern1[j]: NameError: 全局名称 'patttern1' 不是 定义

【问题讨论】:

  • 能否请您下次通过PEP8 online 运行您的代码并在发布前修复所有错误? results for your code分析函数后显示22个错误。
  • 好吧..我会这样做的。
  • 嗨,这是代码的一部分...因为我无法将整个程序粘贴到这里,所以可能是错误的原因..

标签: python global


【解决方案1】:

您的patttern1 有三个t。删除一个即可获得pattern1

【讨论】:

  • 非常感谢。我刚刚注意到了!!
  • @Borja “请尽快接受答案” 有点俗气 - 这是一个微不足道的错字,应该这样关闭并删除。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-10
  • 2014-12-08
  • 1970-01-01
  • 2022-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多