Python中与实际tex无关的奇怪语法错误

2024-09-21 17:35:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python和IDLE 3.4中有一个奇怪的语法错误 我正在修改一些旧代码。其中大量内容用“”注释掉 直到昨天,我尽可能地调试代码,一切都很好。 然后我对代码做了一个小改动,在一些旧代码中出现了语法错误,这些代码在前10次运行中语法正确。你知道吗

elif关键字中的eli显然是错误的。我删除并重新输入了elif。没有变化。你知道吗

这不是我没有研究的代码。所以我把这句话注释掉了。 现在elif关键字中的el显然是错误的。请注意,这是现在的评论!你知道吗

我用“”把整篇课文删掉了 现在“””中的第3个“已成为语法错误。你知道吗

我怀疑有一个非法字符没有显示出来。我把整个程序文本复制到一个编辑器里。然后再次将其复制到IDLE/Python的新实例。你知道吗

又是同样的问题。你知道吗

今天我重新开始了整个过程。除了移动语法错误的位置(目前它位于我通过添加大量LFs创建的一些空文本的中间)之外,语法错误仍然存在,与程序文本完全无关。你知道吗

在我看来,错误似乎出现在程序文本的某个固定点上。你知道吗

有什么想法吗?你知道吗

编辑-我已经添加了代码。修改文本时,语法错误再次移动:

    if   VerificationType == 4 :  # I&E
         VerifTypecount4 += 1
         if AD : VT4defcount += 1
         elif Day14Missed : VT4d14count += 1
    elif VerificationType == 3 :
         VerifTypecount3 += 1
         if AD : VT3defcount += 1
         elif Day14Missed : VT3d14count += 1
    elif VerificationType == 2 :
         VerifTypecount2 += 1
         if AD : VT2defcount += 1
         elif Day14Missed : VT2d14count += 1 
    else :
         VerifTypecount1 += 1  # Catch all
         if AD : VT1defcount += 1
         elif Day14Missed : VT1d14count += 1

Tags: 代码文本程序内容if错误语法关键字
2条回答

你继承的代码格式很差。 (看看变量名,还可以进行一些重构,比如使用字典。)

在代码上使用^{}^{}之类的复选框来查找并帮助您解决这些问题。 当您运行这些checker时,您的代码通常不会产生任何错误。你知道吗

您甚至可以使用^{}来修复格式错误。你知道吗

答案,愚蠢的,是在大约100行之前的打印声明中缺少一个结束括号!你知道吗

不知何故,python语法分析器肯定与缺少的括号混淆了,下面的一些“”被用来注释掉不需要的旧代码。这就是为什么有时错误被放在注释掉的部分中。你知道吗

或者,可能解析器有一个括号对之间距离的最大长度,超过这个最大值后,它发布了一个语法错误。你知道吗

不幸的是,IDLE和GEDIT都忽略了缺少的方括号,并正确地看到了“”以清空不需要的代码,因此我在靠近标记语法错误的位置查找错误时受到了误导。你知道吗

谢谢大家的评论。你知道吗

相关问题 更多 >