2016-05-27 9 views
-1

これはwhileループのすべてのコードです。私はdef文の冗談の外にnumを宣言しているので、グローバル変数エラーを取得しません。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

短いコードを残しておくのは良いことですが、コードの大量の破られていない断片を投稿することで、何がうまくいかないのかを判断するのに必要なコンテキストは通常​​ありません。代わりに、あなたのプログラムを取って単純化し、バグを消してしまわないようなものを裂いたり、あなたがそれを取り除いたときにプログラムをunrunnableにしたりしてください。ユーザーの入力をハードコードされた値に置き換えたり、問題に関係のないループを削除したりすることは、バグの原因を切り離すのに役立ちます。 – user2357112

+0

構造的に私は間違ったことは何も見えません。デバッグ中にnumとNumOfFeedbackの両方を追跡することをお勧めしますか? – Batman

+0

あなたの質問から言うのは難しいですが、whileループが条件が偽になるとすぐに終了することを期待していますか?そうではありません。条件はループの開始時にのみ評価されます。 –

答えて

0

ループは定義していますが、実行していない可能性があります。 関数を定義するときには関数を保存するだけですが、実行するにはコードから呼び出す必要があります。 は(あなたが必要とする値で)あなたのコードの末尾にこれを追加します。

Loop([NumOfFeedback], num) 

あなたは小文字する関数の名前変更する必要があります(とちょうどループ以外を - スーパーはっきりしていません)。 num = 0も電話の上に移動してください。

関連する問題