A Real Win?



I have read some of the posts regarding how to insert a break and after indenting if/elif/else I am not sure how or where to go to get the desired result. I keep getting an error about indenting not matching. This section does not give good directions and this break should have been introduced when writing the if/elif/else. Any good insight on how to get this to work?

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!

for turn in range(4):
guess_row = int(raw_input("Guess Row:"))
guess_col = int(raw_input("Guess Col:"))
print "Turn", turn + 1
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"
if turn == 3:
print "Game Over"
# Print (turn + 1) here!


Since it is giving you an indentation error, can you copy and paste your code to format so we can see the structure? To do that, click on the < / > icon at the top of the message window and paste your code from the environment to there. It will show us exactly what you are looking at.


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