How do I get my code to redirect to take another guess when nothing is entered? I keep getting this error:
Traceback (most recent call last):
File "python", line 27, in
ValueError: invalid literal for int() with base 10: ''
I have tried entering another if statement that indicates:
if guess_row=='' or guess_col=='':
print "You must guess!"
...but this doesn't seem to work either. Any tips would be greatly appreciated!
When a missed shot is entered, or a shot is off the board, a statement is printed as such and the game continues instead of bringing up an error... that's what I'm looking to have also if the player simply presses enter without putting in a number or anything.
Replace this line with your 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) - 1) ship_row = random_row(board) ship_col = random_col(board) for turn in range(1,5): 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!" print "Turn", turn+1 print "Game Over" break else: if turn==4: print "Game Over" break elif (guess_row < 0 or guess_row > 4) or (guess_col < 0 or guess_col > 4): print "Oops, that's not even in the ocean." print "Turn", turn+1 elif(board[guess_row][guess_col] == "X"): print "You guessed that one already." print "Turn", turn+1 else: print "You missed my battleship!" print "Turn", turn+1 board[guess_row][guess_col] = "X" print_board(board)