12. Bad Aim


#1

Hey! Please help me fix my code. It gives the error, "Oops, try again. Make sure you print "Oops, that's not even in the ocean." if the user guesses a row or column that is off the board."
Here's 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:
print "Congratulations! You sank my battleship!"
else:
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!"
board[guess_row][guess_col] == "X"
print_board(board)


#2

First of all, we are nit supposed to just "fix" your code but help you understand the error and show you how it can be fixed.

And your error ais actually quite simple. :sweat_smile: just put a period ( . ) at the end of this sentence

 "Oops, that's not even in the ocean"

should be,

 "Oops, that's not even in the ocean."

#3

Sure you don't.
Thank you for the help.


#4

like this


#5

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