#1

I am stuck at the "Bad Aim" exercise of Battleship. Its driving me mad. Any help would be appreciated.

Though the code looks logically correct and performs correct for the inputs, It still throws a error

Following is the error it shows :
"Oops, try again. 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."

Following is the code. The code under consideration is the one below the comment

``````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)

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)
guess_row = int(raw_input("Guess Row:"))
guess_col = int(raw_input("Guess Col:"))

print ship_row
print ship_col

if ((guess_row == ship_row) and (guess_col == ship_col)):
print("Congratulations! You sank my battleship!")
else:
row = (len(board)-1)
col = (len(board[0])-1)
if (guess_row not in range(0,5) or guess_col not in range(0,5)):
print("Oops,that's not even in the ocean. ")
else:
print ("You missed my battleship!")
board[guess_row][guess_col] = "X"
print_board(board)``````