TypeError: Can't convert 'int' object to str implicitly
You cannot concatenate a string
with an int
. You would need to convert your int
to a string
using the str
function, or use formatting
to format your output.
Change: -
print("Ok. Your balance is now at " + balanceAfterStrength + " skill points.")
to: -
print("Ok. Your balance is now at {} skill points.".format(balanceAfterStrength))
or: -
print("Ok. Your balance is now at " + str(balanceAfterStrength) + " skill points.")
or as per the comment, use ,
to pass different strings to your print
function, rather than concatenating using +
: -
print("Ok. Your balance is now at ", balanceAfterStrength, " skill points.")
def attributeSelection():balance = 25print("Your SP balance is currently 25.")strength = input("How much SP do you want to put into strength?")balanceAfterStrength = balance - int(strength)if balanceAfterStrength == 0: print("Your SP balance is now 0.") attributeConfirmation()elif strength < 0: print("That is an invalid input. Restarting attribute selection. Keep an eye on your balance this time!") attributeSelection()elif strength > balance: print("That is an invalid input. Restarting attribute selection. Keep an eye on your balance this time!") attributeSelection()elif balanceAfterStrength > 0 and balanceAfterStrength < 26: print("Ok. You're balance is now at " + str(balanceAfterStrength) + " skill points.")else: print("That is an invalid input. Restarting attribute selection.") attributeSelection()