Play it, Sam


#1



I am not sure what is wrong. Please help!!

My error message is "Oops, try again. Did you remember to print out turn + 1 each turn?"


from random import randint

board = []

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

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

print "Let's play Battleship!"
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)
print ship_row
print ship_col

# Everything from here on should go in your for loop!
# Be sure to indent four spaces!
for turn in range(4):
    turn = 0
    guess_row = int(raw_input("Guess Row:"))
    guess_col = int(raw_input("Guess Col:"))

    if guess_row == ship_row and guess_col == ship_col:
        print "Congratulations! You sunk my battleship!"
        break
    else:
        if (guess_row < 0 or guess_row > 4) or (guess_col < 0 or guess_col > 4):
            print "Oops, that's not even in the ocean."
        elif(board[guess_row][guess_col] == "X"):
            print "You guessed that one already."
        else:
            print "You missed my battleship!"
            board[guess_row][guess_col] = "X"
    # Print (turn + 1) here!
        print "Turn", turn + 1
    print_board(board)


#2

In this exercise, there are two parts:

  1. create a "for" loop
  2. add a turn iterator

It looks like you have only done the first part.


#4

This line may be removed. It is interfering with the loop.


#5

Can you give me the code


#6

No, but the code posted above looks correct but for that one line. Go back over the instructions and study to see if the OP has been following them. You might glean something from a close examination.


#10