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

#1

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)

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 = 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!"
else:
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."
else:
print "You missed my battleship!"
board[guess_row][guess_col]="X"

print print_board(board)``````

#2

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

#3

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