10/13


#1



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

I did complete this part with my code but I don't see the code that I wrote in this part being printed when I win or lose the game. Can anybody tell me why this is the case?


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)
print ship_row
print ship_col

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

if guess_row == random_row(board):
    if guess_col == random_col(board):
        print 'Congratulations! You sank my battleship!'
    else:
        print 'You missed!'


#2

My guess is that you have the if and else statements within the first if statement.

It's easier if you combine the arguments in to one if statement.

If you have your else statement within the if statement, It would only happen when the argument for the if statement is true. So, if it's false, your else statement won't run.


#3

Thanks! I changed it into this and now it works:

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)
print ship_row
print ship_col

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 sank my battleship!'
else:
print 'You missed!'


#4

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