Typeerror unsupported operand type s for str and int
Typeerror unsupported operand type s for str and int
TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’
The TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’ error occurs when an integer value is added with a string that could contain a valid integer value. Python does not support auto casting. You can add an integer number with a different number. You can’t add an integer with a string in Python. The Error TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’ will be thrown if an integer value is added to the python string.
In python, the plus “+” is used to add two numbers as well as two strings. The arithmetic addition of the two numbers is for numbers. For strings, two strings are concatenated. There is a need to concatenate a number and a string in programming. The plus “+” operator can not be used for this reason. When you concatenate an integer and a string, this error TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’ is thrown.
The objects other than numbers can not use for arithmetic operation such as addition, subtraction etc. If you try to add a number to a string containing a number, the error TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’ will be shown. The string should be converted to an integer before it is added to another number.
Exception
Through this article, we can see what this error TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’ is, how this error can be solved. This type error is a mismatch of the concatenation of two different data type variables. The error would be thrown as like below.
How to reproduce this issue
Create two separate data type variables in python, say an integer value and a string value. Using the plus “+” operator to concatenate these values. This error TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’ will be seen due to the mismatch between the data types of the values.
The code below indicates the concatenation of two separate data type values. The value of x is the integer of y. The value of y is a string.
Output
Different Variation of the error
Root Cause
The error is due to the mismatch of the data type. Operators in python support the operation of the same data type. When an operator is used for two different data types, this type mismatch error will be thrown.
In the program, if two separate data types, such as integer and string, are used with plus “+” operators, they should first be converted to the same data type, and then an additional operation should be carried out.
Solution 1
Python cannot add a number and a string. Either both the variable to be converted to a number or a string. If the variables are changed to a number, the mathematical addition operation will be done. The error “TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’” will be resolved.
Output
Solution 2
In the above program, The variables are converted to a string. Python interpreter concatenate two variables. the variable value is joined together. The example below shows the result of addition of two strings.
Output
Solution 3
The above program is trying to add a string and an integer. Since python does not allow a string and an integer to be added, both should be converted to the same data type. The python function str() is used to convert an int to a string. Use the str() function to convert the integer number to the program.
Output
Solution 4
If two variables are added to the print statement, the print statement allows more than one parameter to be passed. Set the string statement and the integer as two parameters in the print statement. The print statement internally converts all values to the string statement. The code below shows how to use your print statement.
Output
Solution 5
The Python program allows you to create a string by dynamically passing arguments. Create a string with a place holder. In the run-time, python replaces the place holder with the actual value.
In this guide, we talk about the significance of this error and why it is raised. We walk through an example to help you figure out how to solve this error in your code.
Find Your Bootcamp Match
Select your interest
First name
Last name
Phone number
By continuing you agree to our Terms of Service and Privacy Policy, and you consent to receive offers and opportunities from Career Karma by telephone, text message, and email.
Unlike other programming languages, Python syntax is strongly typed. One consequence of this is you have to change the types of objects, like strings and integers, if you want to treat them as a different type of data.
When you try to subtract a string for an integer or vice versa, Python does not know what to do. This is because you cannot subtract string values.
Similarly, you cannot add a string to an integer or divide a string by an integer. These operations all return an “unsupported operand type(s)” error.
An Example Scenario
We’re going to build a spending application that tracks how much money someone will have left on their budget after making a purchase. This application asks a user to insert the value of each purchase they make. This will be subtracted from the total amount a user has in their budget.
To start, ask a user to set a budget using the input() method:
We have converted this value to an integer using the int() method. Next, we ask a user to provide some details about their purchase. We ask about what they purchased and how much their purchase cost:
Next, we subtract the value of “price” from “budget”. This tells us how much a user has left in their budget.
We do this using the subtraction operator (-):
Run our code to see if our program works:
The Solution
To solve this error, we convert the value of “price” to a string.
By default, input() returns a string. We changed the value of “budget” to be an integer earlier in our code. However, we did not change the value of “price”. This results in our code subtracting an integer from a string which is not possible.
Python cannot automatically convert a string to an integer because Python is statically typed.
We solve this error by replacing the “price” declaration with this code:
Our code runs successfully. Our code subtracts 35 from 400. Our program then prints out how much money we have left in our budget to the console.
Similar Errors
There are a number of “unsupported operand type(s)” errors in Python.
These errors mean the same thing: you are trying to perform a mathematical operation on a string and a numerical value. Because strings do not support mathematical operations, you’ll encounter an error.
For instance, you see this error if you try to add a string and an integer:
Similarly, you see this error if you try to find the remainder of a string and an integer:
To solve this error in all cases, make sure you convert any string values to an integer before you use them in your code. You can do this using the int() method.
Conclusion
You solve this error by converting all strings to integers using the int() method before performing a mathematical operation.
Now you’re ready to solve this common Python error like a professional developer!

