2012-04-26 25 views
0

私はPythonのために以下のループで問題があります。ループ全体を停止するにはどうすればいいですか?

scoreoutのループ全体が終了しても、totalout = 4になるとすぐに停止しません。 (即ちthridループ)例えば

、それは10

#global value 
totalturn=0 
totalscorein=0 
totalout=0 

def main 

    numberofturn=int(input("Number of score:")) 

    no_turn=['1','2','3','4','5','6','7','8','9','10'] 
    #while loop condition  
    while totalturn<numberofturn and totalout<10: 

      #increasement 
      totalscore+=1 

      #for loop for score 
      for t in range(1,numberofturn+1): 
       turns=s*1 

       print("\n\n\nThe turn"+no_turn[t]+":",turns) 

       #for loop for number to appear from list 
       for c in range (10): 

        #list for random number to appear 
        numscore = ['1','2','3','4','5','6','7','8','9','o'] 

        #random choice from numscore list to appear 
        from random import choice 
        scorein=choice(numscore) 

        print ("\n\nScores :",scorein) 




        if scorein.isdigit(): 
         totalscorein=totalscorein+int(scorein)    


        if scorein.isalpha(): 
         totalout+=1 



        if totalturn==numberofturn: 
         print("\nTotal turn played:",totalturn) 


        elif totalout==4: 

         print("\nTotal turns played",totalturn) 
         break 

        else: 

         print("") 
+0

しばらく前totalscore、numberofscoreとtotaloutの値が何でbreakを置き換えることができ、あなたはこの場合、質問

のタイトルから判断していると思いますループ? –

+0

'totalscore'、' numberofscore'は宣言されておらず、最初の行はコロンではなく代入を使うべきです( 'list'は変数名としては良い選択ではありません)。 – Levon

+0

申し訳ありません 私はすでに変更を行っています – user1355061

答えて

1

あなたはbreakは3つのループから抜け出すにしたいですか?私はそれが関数の最後であることから、あなただけのreturn

+0

ありがとうたくさん はい私はすべての3loopsを打破したい それは働いている! ありがとうalot :) – user1355061

0

orandオペレータを変更してみてくださいに達するまでscorein番号2でtotalout = 4は、それがループを実行している場合。それはあなたが望むものと思われます。

while totalscore<numberofscore or totalout<10:

+0

ヒントのおかげでもそれも動作していません – user1355061

関連する問題