Python: TypeError: cannot concatenate 'str' and 'int' objects [duplicate]

Solution 1:

There are two ways to fix the problem which is caused by the last print statement.

You can assign the result of the str(c) call to c as correctly shown by @jamylak and then concatenate all of the strings, or you can replace the last print simply with this:

print "a + b as integers: ", c  # note the comma here

in which case

str(c)

isn't necessary and can be deleted.

Output of sample run:

Enter a: 3
Enter b: 7
a + b as strings:  37
a + b as integers:  10

with:

a = raw_input("Enter a: ")
b = raw_input("Enter b: ")
print "a + b as strings: " + a + b  # + everywhere is ok since all are strings
a = int(a)
b = int(b)
c = a + b
print "a + b as integers: ", c

Solution 2:

str(c) returns a new string representation of c, and does not mutate c itself.

c = str(c) 

is probably what you are looking for

Solution 3:

If you want to concatenate int or floats to a string you must use this:

i = 123
a = "foobar"
s = a + str(i)