2016-07-24 198 views
-2

所以我在LPTHW的ex41上,但我在Python 3而不是Python 2中做了它我修復了大部分錯誤,但是我在這一塊上打了一堵磚牆 - 當我運行我的代碼時,它只是在PowerShell中一片空白,然後當我按CTRL-C它給了我這個錯誤:代碼卡住了?

http://pastebin.com/iVCmCAWG

我的代碼:

http://pastebin.com/5XPNGJe6

任何幫助/建議將不勝感激!

回答

0

我修復了這個問題,感謝learnpython subreddit的幫助,並且在這裏,我意識到我的程序只會在我將args「english」傳遞給powershell的情況下運行。這是因爲如果將PHRASE_FIRST設置爲True(這是在PowerShell中通過英文arg的時候),最後的while循環纔會打印出來。

因此,我不得不在Powershell中傳遞參數但不想以英文 - >代碼形式運行它的情況下添加else語句。

所以基本上,我的補充是:

else: 
    print(question) 

    input("> ") 
    print("ANSWER: {0}\n\n".format(answer)) 

後if語句

0

命中CTRL-C告訴Powershell停止執行程序,產生KeyboardInterrupt錯誤。

程序中的註釋提到了以下幾點:

# Keep going until they hit CTRL-D

含義你必須與CTRL-D退出。這似乎不起作用,所以退出CTRL-C是合乎邏輯的。該程序被打破在線

question, answer = convert(snippet, phrase) 

因爲我們都得到了同樣的錯誤。

我已經親自退出了關於Ex.25的教程。使用Python編寫的項目測試更加有效,因爲您可以研究程序員/開發人員用於項目的功能。

+0

對不起,我是不是在我的崗位不夠具體,我整明白CTRL-C事情最後,但你會如何建議我修復這個錯誤? – Aaron

+0

@Aaron,第77行是'while True:'。切換到'範圍內的我(0,20):'將運行20次而不是永久的功能。 –