Battleship 12 - doesn't work, don't know why


Error message: “Make sure you print “Oops, that’s not even in the ocean.” if the user guesses a row or column that is off the board.”

Based on the code I wrote, it is not supposed to not work.

My code:

from random import randint

board = []

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

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


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

guess_row = int(raw_input("Guess Row: "))
guess_col = int(raw_input("Guess Col: "))

range_col = len(board) - 1

for lst in board:
  range_row = len(lst) - 1

if ship_row == guess_row and guess_col == ship_col:
  print "Congratulations! You sank my battleship!"
  board[guess_row][guess_col] = "X"
  if guess_row not in range(range_row) \
  or guess_col not in range(range_col):
    print "Oops, that's not even in the ocean"
    print "You missed my battleship!"
    board[guess_row][guess_col] = "X"
    print print_board(board)


Thanks for your help


string printed needs to be an exact match, full stop is missing after ocean. Copy paste the string from the instructions


Thanks for your help it’s working.