Why do I always got this error?


My code is as follows:

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!"
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."
print "You missed my battleship!"
board[guess_row][guess_col] = "X"

# Print (turn + 1) here!
print "Turn %d" % (turn + 1)

But I always get errors saying that I forgot to print out turn+1 each iteration


same here - can't figure out why it's wrong!!


Hi. I had this same issue and it is caused by the syntax.

Seems odd, they taught us the % method for mixing variables with strings, but in this case they want us to mix them with a comma.

Use the syntax shown in the example:

print 'Turn', (i + 1)

note that in this case, I am using "i" rather than "turn" for my counting variable. So, yours will probably look like this:

print 'Turn', (turn + 1)



I looked back at my code I did and I had

print turn + 1

And it didn't throw a fit when I ran it.

I tried it again with

print "Turn%s" % turn + 1

it threw the error then.

That is mighty goofy.