Hi I actually passed this exercise but I noticed something wrong happening with the code when I tested it. In this part, the game is supposed to give you your 4 turns and then if you haven't won by the 4th turn, the game should say game over and then end. However, with where I put the break in my code, the game automatically stops after the second turn for some reason, regardless of whether you have won or not. I think I have the break in the wrong place. This is how it currently looks:
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) - 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!" 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) here! print_board(board) if turn == 3: print "Game Over" for turn in range(4): print "Turn", turn + 1 guess_row = int(raw_input("Guess Row:")) guess_col = int(raw_input("Guess Col:")) break
I thought I would have to put the break after the if statement with the condition that you win, but when I do that it gives me an indentation error saying that the break if not in the loop. So I'm really not sure where to put the break.
Thanks in advance for you help ~