Battleship:Play It, Sam


#1


https://www.codecademy.com/en/courses/python-beginner-en-4XuFm/2/1?curriculum_id=4f89dab3d788890003000096


Oops, try again. Did you remember to print out turn + 1 each turn?


Why this error message is coming? I am printing the no. of terms properly


Replace this line with your code.
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)
turn=0
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 i in range(4):
    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!"
    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

Hi @jasiml,

You have ...

for i in range(4):

The variable defined in the loop header should be turn rather than i.

You can remove this line, since using turn in the loop header will make it unnecessary ...

turn=0

#3

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.