With the following snippet from a script:
Tile = SelectTile()
int(Tile)
TileY = Tile
TileX = 0
#Temporary debug:
print("type of tile is: ", type(Tile), "type of TileY is: ", type(TileY))
I expected the outcome to be:
type of tile is: <class 'int'> type of TileY is: <class 'int'>
but instead I get:
type of tile is: <class 'str'> type of TileY is: <class 'str'>
Does anyone know why this is happening and how I can fix it? In case you need it here is SelectTile
:
def SelectTile():
print("Select Tile to put \"O\" in:")
print("")
print(" 1 ॥ 2 ॥ 3 ")
print("===॥===॥===")
print(" 4 ॥ 5 ॥ 6 ")
print("===॥===॥===")
print(" 7 ॥ 8 ॥ 9 ")
Tile = input()
int(Tile)
#if Tile != 1 or 2 or 3 or 4 or 5 or 6 or 7 or 8 or 9:
# print("Invalid Tile! Try again")
# SelectTile()
return Tile
CodePudding user response:
You are not assigning the new int value to the original variable. Here's a fix:
Tile = SelectTile()
Tile = int(Tile)
TileY = Tile
TileX = 0
#Temporary debug:
print("type of tile is: ", type(Tile), "type of TileY is: ", type(TileY))