A Real Win


#1

from random import randint

board = []

for x in range(5):
    board.append(["O"] * 5)

def print_board(board):
    for row in board:
        print " ".join(row)

print "Let's play Battleship!"
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)
print ship_row
print ship_col

# Everything from here on should go in your for loop!
# Be sure to indent four spaces!
for turn in range(4):
    turn = turn + 1
    print turn
guess_row = int(raw_input("Guess Row:"))
guess_col = int(raw_input("Guess Col:"))

if guess_row == ship_row and guess_col == ship_col:
    print "Congratulations! You sunk my battleship!"
    break
else:
    if (guess_row < 0 or guess_row > 4) or (guess_col < 0 or guess_col > 4):
        print "Oops, that's not even in the ocean."
    elif(board[guess_row][guess_col] == "X"):
        print "You guessed that one already."
    else:
        if Turn ==3 :
            print "Game Over"
        else:
            print "You missed my battleship!"
        board[guess_row][guess_col] = "X"
    # Print (turn + 1) here!
print_board(board)

what's wrong with this code. It always give error SyntaxError: 'break' outside loop


#2

if guess_row == ship_row and guess_col == ship_col:
    print "Congratulations! You sunk my battleship!"
    break

the break inside your if condition gives that error. Try removing it.
However, it won't solve this lesson. Read the commented out instructions inside the given code. =)
Because you need the break, but when it is inside the loop
Good luck


#3

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