11. Danger, Will Robinson!


#1



https://www.codecademy.com/en/courses/python-beginner-en-4XuFm/1/2?curriculum_id=4f89dab3d788890003000096#


I get two dfferent error messages:
1) Traceback (most recent call last):
File "python", line 32, in
IndexError: list assignment index out of range
2) It looks like your game does not print "You missed my battleship!" when the guess is wrong.


I don't understand where i went wrong :frowning:


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

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)


#2

your program can't yet (you will add this later) handle invalid coordinates. Enter something valid for now to prevent the first error message

as for the second error message the string printed should be an exact match, you string misses a exclamation mark (!) at the end.


#3

Thanks! It's working now :smiley:


#4