Console != Code



<Below this line, add a link to the EXACT exercise that you are stuck at.>

<In what way does your code behave incorrectly? Include ALL error messages.>
Code does not correlate with whats being printed

<What do you expect to happen instead?>
What is printing out into the console does not correlate with what is being coded, even though I’ve been getting the green mark to keep moving through the sections. For example, the code I provided below, it gave me the green tick, but specifically for what coded in the part where I change guess_row and guess_col to “X”, that part is not showing up on the console, all the "O"s are still there. Not sure how to change it so that actual X’s show up in replace of the O’s


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: "))

if guess_row == ship_row and guess_col == ship_col:
print "Congratulations! You sank my battleship!"
guess_row == "X"
guess_col == "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 guess_row == “X” or guess_col == “X”:
print "You guessed that one already."

<do not remove the three backticks above>


to display the X on the board, we need to update board. Board is what data type? How do we update this data type? Even better, how do we update specific element within this data type?

Your code also seems to have a logic/flow problem, after you fixed your board update:

# after fixing this
guess_row == "X"
guess_col == "X"

its before we validated the guess is in the ocean or already guessed before, so this can cause unexpected behavior of our code


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