我有問題。我的代碼如下:爲什麼它不起作用? Python,訂單,騎車
algorythm--- solved
我的文件 'masiny.txt'
m1 dns mail
m2 none dhcp
m3 none firewall
m4 firewall ftp
m5 mail voice
第一列是 'ID',第二個 '依賴' 和第三 '提供'。它關於虛擬機器,哪一個提供這樣的服務,或者依賴於它。
我的問題,嗯,當我運行這個我的腳本,它通過啓動機器'm7'被凍結。爲什麼?我認爲邏輯是好的,但meybe錯誤是在這兩行代碼:
for j in running: # get running services
if j==dep[i] and i in notstarted: # if important service is running and machnie is unopened
但爲什麼這個循環運行三次,然後凍結?
我使用Python 3.3.3 請幫忙,我這個整天坐在
謝謝:)
錯誤以下
請給我們一個[SSCCE](http://sscce.org) - 特別是實際運行的代碼(其中不包含IndentationError,我們必須猜測你的意思和猜測可能是錯誤的)並演示你描述的同樣的問題。當我猜測你的縮進並運行它時,它會打印出「開始m3」,「開始m2」,「下一個階段」,「開始m4」,「開始m9」。很難告訴你爲什麼它在「啓動機器'm7'」時凍結,當我看不到這樣的東西時... – abarnert
編輯過圖片:) – Joffo
實際上你試圖實現的是簡單的**拓撲排序**,這是更多有效的方式這樣做,哪些會告訴你的問題(因爲拓撲排序會檢測循環,並通知你) – lejlot