13. Batalha nava. 13. De novo nâo. Por favor me ajudem


#1

O meu código fica dando erro e eu não sei o que fazer por favor álguem pode me ajudar?
esse é o meu código:
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

Escreva seu codigo abaixo!

if guess_row == ship_row and guess_col == ship_col:
print "Congratulations! You sank my battleship!"
else:
print "You missed my battleship!"
board[guess_row][guess_col] = "X"
print_board(board)
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 "Voce ja tentou essa posicao."
else:
print "Oops, palpite incorreto."


#2

What is the error you're getting?


#3

Oops, tente outra vez. Voce se lembrou de adiciona a mensagem "Voce ja tentou esse." em sua declaracao elif?
Sempre aparece essa resposta.


#4

Por favor, pode me ajudar?


#5

It's a bit hard to find bugs in the code when i have to translate errors with google translate. But I think you just have to type the exact same words as are in the assignment


#6

Desculpe, mas continua no mesmo erro.


#7

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 "Voce ja tentou essa posicao."
else:
print "Oops, palpite incorreto."
Está dando o mesmo erro.


#8

I'm sorry, but I don't think I can help you since there's a language barrier. I hope you soon find the solution.


#9

Meu código estava dando erro tbm, mas consegui passar. a mensagem a ser usada é a que aparece quando indica o erro: "Voce ja tentou esse." Exatamente assim, sem acentos, com o ponto final...tudo igual. alterei um pouco o código lá embaixo, mas mantendo a lógica.

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

if guess_row not in range(5) or guess_col not in range(5):
print "Oops, that's not even in the ocean."

elif guess_row == ship_row and guess_col == ship_col:
print "Congratulations! You sank my battleship!"

elif board[guess_row][guess_col] == "X":
print "Voce ja tentou esse." >>>>(a msg para passar é a que aparece qdo dá erro)
else:
print "You missed my battleship!"
board[guess_row][guess_col] = "X"
print_board(board)


#10

Assim funcionou pra min!

Escreva seu codigo abaixo!

if guess_row == guess_col and guess_col == guess_row:
print "Congratulations! You sank my battleship!"
else:
print "You missed my battleship!"
board[int(guess_row)][int(guess_col)] = 'X'
print_board(board)
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[int(guess_row)][int(guess_col)] == 'X':
print "Voce ja tentou esse."


#11

A questão é que em Português o exercício indica ( The thing is that in Portuguese the text says ) :

2.0 Se tiver, print "Voce ja tentou essa posicao." | _If already, print "You already tried this position"_

Porém ao utilizar ( But when using ):

 print "Voce ja tentou essa posicao." | print  "You already tried this position"

O seguinte erro aparece ( We get that error ) :

Oops, tente outra vez. Voce se lembrou de adiciona a mensagem "Voce ja tentou esse." em sua declaracao elif?

Resuming, the error says that we did not used ( print "You already tried this") when it was never said to use this, but to use "You already tried this position"

Porém apenas utilizando o que a mensagem de erro manda, conseguimos completar o exercício ( But when using the message the ERROR said, we can complete te exercise ) :

 print "Voce ja tentou esse."

Os administradores poderiam fazer está alteração para que próximos alunos não tenham problemas com isso

Codeacademy could fix this issue so next students don't get stuck on this too