Code not working on python (3.5.1)

python_3

#1

its the battleship code, copied perfectly from lesson 18 except parentheses on print. code works fine on codeacademy, but not in python 3.5.1, why is the .join is gone? how can I fix it? CODE:

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)



for turn in range(4):
    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:
            print ("You missed my battleship! Try again!")
            board[guess_row][guess_col] = ("X")
        if turn == 3:
            print ("GAME OVER")
    
    print_board(board)
    print ("Turn"), turn+1

error in this link:


#2

please help me, I really need it


#3

hi there, please correct the above to:
print(" ".join(row))

does it help?


#4

didnt change it, and before I edited I got to the file, it launched fine into the console and worked fine, dunno why. thx for trying to help anyway


#5

i have python version 3.4.2 , and i run your code i got some error ( in print ("").join and in raw_input )
fot raw_input i change it to input

guess_row = int(input("Guess Row:"))
guess_col = int(input("Guess Col:"))

for print i chnage it to

print (" ".join(row))

so your code works for me