12/19 Wrong code


#1

Hi guys! Here is my code. It's passed, but i think that code is wrong

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
>     
> # Write your code below!
> if guess_row == ship_row and guess_col == ship_col:
>     print "Congratulations! You sank my battleship!"
> else:
>     print "You missed my battleship!"
>     board[guess_row][guess_col] = "X"
>     print print_board(board)
>     if guess_row not in range(5) or guess_col not in range(5):
>         print "Oops, that's not even in the ocean."
>     else:
>         print "You missed my battleship!"
>         board[guess_row][guess_col] = "X"
>         print print_board(board)

#2

You should only have "You missed my battleship!" at the part where you actually confirmed, that he didn't shoot out of the ocean. Of course if misses you ship if it's not in the ocean, but I think that shouldn't be there ^^
And print the board at then end, not only if he misses the ship, but when the process is done. :smiley:

else:
    if guess_row not in range(5) or guess_col not in range(5):
         print "Oops, that's not even in the ocean."
    else:
         print "You missed my battleship!"
         board[guess_row][guess_col] = "X"
print print_board(board)