2016-11-16 9 views
-1

私は、私のコードが欲しくないときに何度も何度もステートメントを繰り返すという問題があります。ここでwhileループが何度も何度も繰り返すのを止めますか? Python

は私のコードです:

def gameMake(): 

    while emptySp(): #already written (checks if the space is available for the user to put in their token) 


     print("Player 1") 
     mycol = input("Please choose a column (1-" + str(columns)) 

     if coluser == columns: 
      mycol = input("Please choose a column to place your piece in (1-" + str(columns)) 

     elif: 
      rowuse = rows 


      while x >= 1: 
       if board[x][coluser] == board[r][c] 
        board[x][coluser] == PONE #PONE = "o" (the token) 


       else: 

        i = 0 
        i = i + 1 

出力の例と私は取得しています:(入力ボードは5x5のです)

Player 1 
Please choose a column (1-5): 1 
Player 1 
Please choose a column (1-5): 2 
Player 1 
Please choose a column (1-5):3 
Player 1 
Please choose a column (1-5): 4 
Player 1 
Please choose a column (1-5): 5 


IndexError: list index out of range 

コードは数字1-受け入れることになっています5を有効な列番号として入力して、すでに作成したボード機能を使用して現在のボードをプリントアウトします。 1-5以外の番号を入力した場合、ユーザーに再度プロンプトが表示されます。私のコードで何がうまくいかないのですか?インデックスエラーが発生するのはなぜですか?

ありがとうございました!

+2

あなたのコードで 'i'の意味は正確に何ですか?ゼロに設定し、1を追加します。 – Cleb

+0

カラムが5以上であるかどうかをチェックする 'if-statement'を最後に置いてください。 – drum

+0

elseの中の最初の2つのステートメントの目的は何ですか? 'i = 0'を最初に設定してからインクリメントしますが、次回に' else'を再度入力すると 'i'が最初に0にリセットされます。 – Antimony

答えて

0

ここでの問題あなたは、あなただけの数があることを確認されている数は1-Xの範囲内にあることを確認されていないということです> = 1

あなたはにwhile文を更新したいと思う

read while x >= 1 and x <= columns:

プロンプト入力の場合は、try/exceptブロックを使用することもできます。mycol = input("Please..誰かがA-Zや他の特殊文字を入力した場合、現在スクリプトが失敗するため、これを表示します。

0

表示されている入出力例から、内部ではほとんどif節に終わるようです。 board[x][coluser] == PONEは、割り当てではなく比較を実行しているため、trueまたはfalseと評価されますが、残りのプログラムでは何も変更されません。したがって、何も変更されていないので、emptySp()は常にtrueを返します。 第2に、「#勝利で勝利することを確認する」とは何ですか?勝利関数とは何ですか?繰り返しますが、if句の中では、コードの一部が変更されていないため、emptySp()が初めてtrueに評価された原因は何と言っても同じです。

+0

さて、私はあなたが言っているものを参照してください!私は現在のコードが動作していることを確認した後、プレイヤーが勝ったかどうかをチェックする関数を追加しようとしていたので、そこに#関数のコメント関数のコメントを追加しました! – naraemee

+0

代入演算子は '='です。比較演算子は '=='です。 – Antimony

関連する問題