Help me :(


#1



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)

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)
guess_row = int(raw_input("Guess Row:"))
guess_col = int(raw_input("Guess Col:"))
board[guess_row][guess_col]="X"


print ship_row
print ship_col

if guess_row==ship_row and guess_col==ship_col:
    print "Congratulations! You sank my battleship"
else:
    print "You missed my battleship!"
    print "X"

if guess_row not in range(5) or guess_col not in range(5):
    print "Oops, that's not even in the ocean."
elif :
    print "You guessed that one already"
else: 
    print "You missed my blattleship!"   

print print_board(board)

INSTRUCTIONS:
Add an elif to see if the guessed location already has an 'X' in it.
If it has, print "You guessed that one already."

PROBLEM:
 i can´t add an elif that tells if the player´ve already gave that answer


#2

the structure of your code is a bit off, look at the pseudo code below:

if guessed ship:
    print "guessed ship"
else:
    # this else clause will handle miss, first check if guess is on board
    if not in range:
         print "not on board"
    elif guessed already:
          print "you guessed that one already"
    else:
          print "you missed"
          # update board

#3

oouh ok i fixed that but i can´t write the guessed already that it´s required for the code


#4

why not?


#5

it doesn´t run :frowning:


#6

how would you write that?


#7

can i see an updated version of your code?


#8

ship_row = random_row(board)
ship_col = random_col(board)
guess_row = int(raw_input("Guess Row:"))
guess_col = int(raw_input("Guess Col:"))
board[guess_row][guess_col]="X"


print ship_row
print ship_col

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

  

print print_board(board)

#9

this line:

board[guess_row][guess_col]="X"

will update the coordinate with X, but why do you place it so early in your code? It should be here:

          print "You missed my battleship!"
          # update board here, don't print X
          print "X"

board[guess_row][guess_col] will retrieve the coordinate the user guessed, so we could also use that for elif condition to see if the coordinate the user guessed equals "X"


#10

got it, thanks!!!!!!!


#11