Chào các bạn. Mình đang học python trên trang codecademy. Đã đến phần Battleship game.
Bài này mình chưa biết làm cách nào để qua.
Yêu cầu của bài:
Add an elif to see if the guessed location already has an 'X' in it.
If it has, print "You guessed that one already."
Đây là code của mình:
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."
elif board[guess_row][guess_col] == "X":
print "You guessed that one already"
else:
print "You missed my battleship!"
board[guess_row][guess_col] = "X"
print_board(board)
Tuy nhiên khi chạy thì báo lỗi:
Oops, try again. Did you remember to add the "You guessed that one already." message in your elif statement?
Xin các bạn chỉ giúp mình sai chỗ nào? Vì mình thử chạy ở máy tính đoạn code này thì có vẻ đúng rồi.
Cảm ơn các bạn.