11. Danger, Will Robinson!


#1

Hi, please help, the error says "There seems to be an error in your code, see the console window for the error message!" and the error message states that there's a problem on line 30 with the indentation (IndentationError). It says it "expected an indented block". I've tried moving the else around but nothing seems to work and I've reloaded the page too. Have I missed anything out?

My code:

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:
else:
    print "You missed my battleship!"
    board[guess_row][guess_col]="X"
    print_board(board)

Any and all help would be appreciated, thank you.


#2

Hi, @voix,

You have this ...

if guess_row == ship_row and guess_col == ship_col:
else:

There is no code in the if block.

Decide what you would like to happen when the user's guess is correct, and place the appropriate code in the if block.


#3

Hi there I think you forgot a print statement in the last if block. The part that says: Congratulations.


#4

Yes, see Exercise 10: You win!.

The instructions state ...

If that is the case, please print out "Congratulations! You sank my battleship!"


#5

@appylpye @padewan
Hi guys, thanks for the quick reply.
I did forget the print statement from Exercise 10, thank you, but after printing it:

This shows up. I'm confused as to what is wrong with line 33.

Edit: Also, was the indentation for else correct?


#6

You entered 6 at the "Guess Col:" prompt, which is out of range. For now, enter only numbers from 0 to 4, inclusive. In later exercises, you will prepare your code to respond more effectively to values out of range.


#7

Okay, I understand and I've replaced 6 with a lower value, it works :slight_smile:
Thanks again!


#8