我在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
你继承的代码格式很差。 (看看变量名,还可以进行一些重构,比如使用字典。)
在代码上使用^{} 或^{} 之类的复选框来查找并帮助您解决这些问题。
当您运行这些checker时,您的代码通常不会产生任何错误。你知道吗
您甚至可以使用^{} 来修复格式错误。你知道吗
答案,愚蠢的,是在大约100行之前的打印声明中缺少一个结束括号!你知道吗
不知何故,python语法分析器肯定与缺少的括号混淆了,下面的一些“”被用来注释掉不需要的旧代码。这就是为什么有时错误被放在注释掉的部分中。你知道吗
或者,可能解析器有一个括号对之间距离的最大长度,超过这个最大值后,它发布了一个语法错误。你知道吗
不幸的是,IDLE和GEDIT都忽略了缺少的方括号,并正确地看到了“”以清空不需要的代码,因此我在靠近标记语法错误的位置查找错误时受到了误导。你知道吗
谢谢大家的评论。你知道吗
相关问题 更多 >
编程相关推荐