I wanna deal with non int type. help me~~



there are not error messages.

I wanna this code can correct non-int type like '[3,4]' or '1,3'. So I add code like below:

if type(guess_row)!='int' or type(guess_col)!='int':
print "WHAT?!"

And if I input something like '[3,4]' or '1,3', It print "WHAT?!". but I input correct code like '3', they also print "WHAT?!".

What's the problem?

Replace this line with your code. 

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)


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 = raw_input("Guess Row:")
guess_col = 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!"
    if type(guess_row)!='int' or type(guess_col)!='int':
        print "WHAT?!"
    elif 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."        
        print "You missed my battleship!"

print print_board(board)


strings aren't ints regardless of what text they represent. Strings are strings.

Also, 'int' is not a type, it's a string. No type is a string, because a string isn't a type. str is a type, but not a string

You can parse the text that a string represents and create values of other types from that. That may involve massaging the input a bit, for example '[3,4]' would need the first and last character removed and then be split on comma, after which you have '3' and '4' which the int type can create ints from


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