我有一個while循環:檢查無效的密鑰
while parent != None:
pathList.append(parentMap[parent])
parent = parentMap[parent]
我想這個列表做的僅僅是添加父值父值的(在代碼的其他部分已經確定)直到我到達樹的頂端,並且沒有剩下的父母。 while循環的操作思想是一旦parentMap [parent]提供了一個無效的[parent]鍵,它將被賦值爲「None」,循環將終止。這不會發生。相反,一旦我到達最頂端的鍵(5,5),程序就會拋出一個錯誤,指出「無效鍵」。思考?
是(我認爲這不會引發錯誤,但根本沒有分配的值) ,但我不知道如何改善這種情況。如果我初始化最上面的值的父項爲None,那麼它會嘗試將None映射到列表中,並且事情再次變得不合時宜了...... – user1427661
Joran或John的方法都可以解決它。我個人會和約翰一起去的,因爲我被教導說避免嘗試/除非是好的做法,但是兩者都應該工作。 – Colleen
另外請注意,約翰的解決方案使用'不是None'而不是'!= None',這也是更好的風格。 – Colleen