13 not again


I want to get the result "You guessed that one already.".How to get the result?Or how to change the 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)
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 ship_row==guess_row and ship_col==guess_col:
    print 'Congratulations! You sank my battleship!'
    if guess_row not in range(len(board)) or \
    guess_col not in range(len(board)):
        print "Oops, that's not even in the ocean."
    elif board[guess_row][guess_col]=='X':
        print 'You guessed that one already.'
        print 'You missed my battleship!'


Hi @flysnow,

The only way where you can get the result "You guessed that one already." is on your second (or later) try, after a first try that missed the battleship has already been completed.

In this case, you will need to let the program automatically repeat itself when the battleship hasn't been found, and this will be taught in later exercise, so just continue with the good work :slight_smile:

Hope this helps!


thanks!When I continue the next exercise,I know why!:grin: