这是这是造成我的程序崩溃小代码段由于无限循环奇怪而回路使无限循环
while not stack.is_empty():
if operators[stack.peek()] >= operators[character]:
result += stack.pop()
其中堆栈是一个堆栈的对象和操作员是一个字典。 下面的代码但不会导致无限循环
while not stack.is_empty() and operators[stack.peek()] >= operators[character]:
result += stack.pop()
我的问题是:是不是这些代码段基本上是一回事吗?为什么一个造成一个无限循环而另一个不是?
感谢
......这意味着您可以通过在第一个中添加一个“else:break”来使它们等价。 – xtofl
哦,哇,我不能相信我没有看到,谢谢 – Jacklin213