Bug Report

#1

This bug report is about the Bad Aim exercise from Battleship! (Python).
The problem is that it will consider the code correct while it isn't.
If you run the code above in the exercise you will pass but it will always show that you shoot out of the board ("Oops that's not even in the ocean.") even if you shoot in the board. I don't know what happens if you hit the ship.

When I ran the code for the first time and the "Oops" message popped I was expecting some kind of error like "The shot you took was inside the board but the code is showing the incorrect message. Please take a better look at your 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)

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:
if guess_row != range(5) or guess_col != range(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)``````

#2

`if guess_row != range(5) or guess_col != range(5)`
`guess_row < 0 or guess_row > 4 or guess_col < 0 or guess_col > 4:`