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)
print ship_row
print ship_col
guess_row = int(raw_input("Guess Row: "))
guess_col = int(raw_input("Guess Col: "))

# Write your code below!
if guess_row == ship_row and guess_col == ship_col:
  print "Congratulations! You sank my battleship!"   
  print "You missed my battleship!"
if guess_row not in range(5) or guess_col not in range(5):
  print "Oops, that's not even in the ocean."
elif board[guess_row][guess_col]:
  print "You guessed that one already."
  board[guess_row][guess_col] = "X"

Not sure what I did wrong, I can only make 1 turn when I run it, and it also displays the message “You guessed that one already” every time.


you haven’t implemented the loop yet which allows multiple guesses, you will implement this one of the next lessons

the last part of your program (which handles the users guess) doesn’t have the correct flow (if/elif/else conditions), walk through it to see when what is happening, and where things go wrong and improvements need to be made


I figured it out, thank you very much.


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