13/15


#1

<PLEASE USE THE FOLLOWING TEMPLATE TO HELP YOU CREATE A GREAT POST!>

<Below this line, add a link to the EXACT exercise that you are stuck at.>

My code does not behave incorrectly, however I cannot get the program to detect it working and advance to the next part. I get the error message: “Oops, try again. Did you remember to print out turn + 1 each turn?” even though I did print turn + 1 every turn. How do I fix this?

```python

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)

for turn in range(4):

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!"
elif(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_board(board)
print "Turn" + str(turn + 1)
<do not remove the three backticks above>

#2

I guess they expect integer and you are giving them string.


#3

I have 2 ideas:
move the above line straight after the for command (so you print turn before you communicate with the user)
or
remove the str() function from it. Maybe this is messing up with passing the excercise.