TypeError: Can't convert 'int' object to str implicitly TypeError: Can't convert 'int' object to str implicitly python python

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()