Battleship 13. - Not Again! Why IndentationError?


#1

Hi,
i get an IndentationError in my Battleship 13. - Not Again solution, checking if a location was previously guessed. I have no clue why. I compared my solution to those in other topics related to the not again exercise. My solution seems to be right, but i still get the IndentationError message.

here is the link to the exercise:
https://www.codecademy.com/courses/learn-python/lessons/battleship/exercises/not-again?action=lesson_resume

Here is the complete error message:

  File "python", line 38
    elif board[guess_row][guess_col] == "X":
                                           ^
IndentationError: unindent does not match any outer indentation level

Here is the relevant piece of my code:

if guess_row == ship_row and guess_col == ship_col:
  print "Congratulations! You sank my battleship!"
else:
  if guess_row not in range(5) or \
    guess_col not in range(5):
    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)

Please help me to complete this exercise.


#2

Try removing the continuation operator and write this as one line.

Otherwise, be sure that there is no indentation on the wrapped portion of the continuation.


#3

Hi mtf,

thanks for your reply, but your suggestion didn’t work.

I did exercise 12 again and continued with 13 and now it works with my code above.


#4

When you get an indentation error, the best thing to do is go down your code from the top and redo all the indents with four spaces, per indentation (block) level.


#6

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