Bad Aim


#1



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


Oops, try again. Your code looks a bit off. Check the Hint if you need help! Your code threw the following error: 'ascii' codec can't decode byte 0xc2 in position 10: ordinal not in range(128)


I don´t know what is wrong with my code?
I guess it has to be with the range(5)


if guess_row == ship_row and guess_col == ship_col:
    print "Congratulations! You sank my battleship!"
else:
    if guess_row not in range(5) and guess_col not in range(5):
        print "Oops, that´s not even in the ocean."
    else:
        print "You missed my battleship!"
        board[guess_row][guess_col] = "X"
    print_board(board)


#2

the "colon" you use on that line doesn't appear to be a valid colon


#3

There are 3 conditions here and I believe the 3 can be nested in an if, elif and else conditions. Doing this will make the logic clearer to code and also to read and figure out later.


#4

do range(0,5) on both of them of your ifs then in the board[guess_row -1][guess_col -1]
but when you have to guess from your keyboard put small numbers like 4 nand 2


#5

How about try "if guess_row not in range(5) or guess_col not in range(5): " instead of and

and I think the "print_board(board)" should indent with "board[guess_row][guess_col] = "X" ", not else


#6

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