我有一个python脚本,它生成一个输入的链接列表,然后比较字符,以确保所有打开的方括号都有正确顺序的右括号。在
例如(9-{5*2(1+1)})==真 (9-{5*2{1+1))==错误
当我比较函数的返回值和字符串时,问题就来了。if函数就停在第152行。当我中断脚本时,会出现以下错误:
Traceback (most recent call last):
File "lab2.py", line 195, in <module>
bracketCheck(list)
File "lab2.py", line 152, in bracketCheck
if list.getNodeAtPosition(i) == '(' or list.getNodeAtPosition(i) == '{' or list.getNodeAtPosition(i) == '[':
File "lab2.py", line 114, in getNodeAtPosition
currentNode = currentNode.getNext()
keyboardInterrupt
下面是我的脚本代码,其中的链接列表深受DreamInCode中atraub的启发。此外,输入必须一次输入一个,直到输入“done”:
^{pr2}$
你的代码里逻辑错误太多了,我记不清了。。在
以下修改后的代码运行良好(基于我的基本测试),请执行
diff
并尝试查看原始代码中的错误:请记住上面的代码不是python代码,甚至不是“体面的”。在这里您几乎看不到原始代码中的逻辑缺陷。在
如果你想要一个Python的解决方案,请参考@yak的答案。在
为什么
while(list.first.hasNext)
会终止?有些情况下,当您从列表中删除项时,有些情况下您不修改它。如果保持列表不变,它将永远循环。在
那
i=0; i=i+1
是怎么回事?在相关问题 更多 >
编程相关推荐