11/19 Code Wrong BUT


#1

Here are the right code I guess:
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:"))

print ship_row
print ship_col

Write your code below!

if guess_row==ship_row and guess_col==ship_col:
print "Congratulations! You sank my battleship!"
else:
print "You missed my battleship!"
board[guess_row][guess_col]="X"
print_board(board)


BUT
IF else:
board[guess_row]="X"
board[guess_col]="X"
it's wrong but you will get the congratulations.

ANYONE notice it?


#2

I guess the reason why you get congrats is because you change the whole row and column to "X" and when system test your code it just test where X matches your input so it enhance the chance to win


#3

Thanks, I have a same guess.


#4

yeah you have to do like this:
else:
print "You missed my battle ship"
board[guess_row][guess_col] = "X"
print_board(board)