Test Run


#1



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


Oops, try again. Your code looks a bit off. Feel free to peek back at earlier exercises if you need help! Your code threw the following error: list index out of range


If the list index is out of range the code is supposed to print "Oops, that's not even in the ocean.",according to the nested if statement in the else statement.
But instead it shows an error.How do I fix this?

Oh..I got it...the else statement was just messed up


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!"
    
elif(board[guess_row][guess_col] == "X"):    
    print "You guessed that one already."
    
else:
    print "You missed my battleship!"
    board[guess_row][guess_col] = "X"
    print_board(board)
    if(guess_row not in range(5) or guess_col not in range(5)):
        print "Oops, that's not even in the ocean."
    else:
        print "You missed my battleship!"


#2

did you figure it out? It seems you did:


#3

Yes I figured it out...thanks anyway


#4

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