閱讀堆棧,所以我嘗試了這個中綴到Postfix練習(找到here)。你必須滾動一下才能看到他們的代碼。我試圖儘可能保持原來的實現。爲什麼我的列表不會填充? IndexError:列表超出範圍
我的代碼:http://pastebin.com/dG4Ku14n
我得到第18行(這裏我定義偷看變量)的錯誤。它說列表超出範圍,但我不應該打電話給名單呢?不應該只是將它存儲在變量中,而當我在第49行使用「prec [peek]」時,實際錯誤應該在文檔後面出現?
我敢肯定,這段代碼比我意識到的更多。任何幫助,將不勝感激。我應該重新開始嗎?
短版:
peek = operator_stack[len(operator_stack)-1]
for element in infix:
if:
#code
else:
while not operator_stack and prec[peek] >= prec[element]:
output_queue.append(operator_stack.pop())
operator_stack.append(element)
預期輸出:
A B * C + D *
請降低代碼爲[短,自足的,正確的示例](http://sscce.org/ )並將其直接包含到問題中。 –
請發佈您的預期輸出 –
增加了預期的輸出 –