15 play it sam



So it allows me to progress but instead of saying turn 1 - it just goes through all four turns in one round. How do I make sure it only counts 1 turn as 1 turn instead of listing turn 1, turn 2, turn 3, turn 4 when I only went once?

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!"

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!
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!"
    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."
        print "You missed my battleship!"
        board[guess_row][guess_col] = "X"
    # Print (turn + 1) here!
    for turn in range(4):
        print "Turn:", turn +1


The loop for turn in range(4): is meant to contain everything from the guess onward. The commented line # Everything from here on should go in your for loop! shows you where to place it. When you do that, make sure to indent everything below that by four spaces as directed. That way, Python will recognize that those instructions take place "inside" the for loop.


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