2016-05-27 56 views
-1

這是我while循環中的所有代碼。我已經將def聲明之外的num聲明爲jest,所以我沒有得到全局變量錯誤。爲什麼我的while循環在設置爲true的條件之後沒有終止?

是否需要將所有其他def語句調用回循環?

num = 0; 
def Loop(NumOfFeedback, num): 
    while num < NumOfFeedback: 
     classOne(Math,Science,English,History,Band,Choir,Spanish,French,German) 
     workloadOne(Little,Medium,aLot) 
     classTwo(MathA,ScienceA,EnglishA,HistoryA,BandA,ChoirA,SpanishA,FrenchA,GermanA) 
     workloadTwo(LittleA,MediumA,aLotA) 
     GPA(FourPO,ThreePFive,ThreePO,TwoPFive,TwoPO) 
     Age(A14,B15,C16,D17,E18) 
     num = num + 1 
     print num 
+0

雖然保留短期發佈的代碼是很好的做法,但是通過發佈大量代碼的無法運行的代碼片段,意味着我們通常沒有必要的上下文來告訴發生了什麼問題。相反,請將您的程序和簡化它,撕掉任何不會導致錯誤消失或在刪除程序時導致程序無法運行的內容。用硬編碼值替換用戶輸入,刪除與問題無關的循環以及類似的技術可以幫助找出錯誤的根源。 – user2357112

+0

結構上我看不到任何錯誤。我可以建議你在調試時跟蹤'num'和'NumOfFeedback'。 – Batman

+0

從您的問題中很難分辨出來,但您是否期望只要條件變爲false,您的while循環就會終止?它不會 - 條件僅在循環開始時進行評估。 –

回答

0

您只定義Loop,但您可能沒有運行它。 當你定義一個函數時,你只需保存它,但爲了運行它,你必須從你的代碼中調用它。 你的代碼的結束(與價值觀需要)補充一點:

Loop([NumOfFeedback], num) 

你應該改變將小寫的函數的名稱(和其他不僅僅是循環 - 超級不清楚)。 也移動num = 0 - 在呼叫上方。

相關問題