A REal win break statement


#1

I am having problems with my code. It keeps saying my break statement is outside of the if statement but I dont see how that is . Here is my code:

from random import randint

board = []

for x in range(5):
    board.append(["O"] * 5)

def print_board(board):
    for row in board:
        print " ".join(row)

print "Let's play Battleship!"
print_board(board)

def random_row(board):
    return randint(0, len(board) - 1)

def random_col(board):
    return randint(0, len(board[0]) - 1)

ship_row = random_row(board)
ship_col = random_col(board)
print ship_row
print ship_col

# Everything from here on should go in your for loop!
# Be sure to indent four spaces!
guess_row = int(raw_input("Guess Row:"))
guess_col = int(raw_input("Guess Col:"))

if guess_row == ship_row and guess_col == ship_col:
    print "Congratulations! You sunk my battleship!"
    break
else:
    if (guess_row < 0 or guess_row > 4) or (guess_col < 0 or guess_col > 4):
        print "Oops, that's not even in the ocean."
    elif(board[guess_row][guess_col] == "X"):
        print "You guessed that one already."
    else:
        print "You missed my battleship!"
        board[guess_row][guess_col] = "X"
    print(turn + 1) 
    print_board(board)
if turn ==3:
    print "Game Over"
    
for turn in range(4):
    print "Turn",turn+1
    break

#2

Please format your code so we can see indents.


#3

its formatted now . It should be good


#4

Error says:

SyntaxError: 'break' outside loop

Outside loop, not outside the if statement.


break statement breaks out of the loop (for or while) and that is why it must be inside the loop.


So now, is this break statement:

if guess_row == ship_row and guess_col == ship_col:
    print "Congratulations! You sunk my battleship!"
    break

inside the loop?


#5

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.