I have this python program that adds strings to integers:
a = raw_input["Enter a: "]
b = raw_input["Enter b: "]
print "a + b as strings: " + a + b
a = int[a]
b = int[b]
c = a + b
str[c]
print "a + b as integers: " + c
I get this error:
TypeError: cannot concatenate 'str' and 'int' objects
How can I add strings to integers?
wjandrea
24.5k8 gold badges53 silver badges73 bronze badges
asked Aug 7, 2012 at 10:35
0
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
answered Aug 7, 2012 at 10:38
LevonLevon
132k33 gold badges197 silver badges186 bronze badges
0
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
answered Aug 7, 2012 at 10:37
jamylakjamylak
123k29 gold badges227 silver badges227 bronze badges
5
If you want to concatenate int or floats to a string you must use this:
i = 123
a = "foobar"
s = a + str[i]
Wooble
85.6k12 gold badges103 silver badges129 bronze badges
answered Aug 7, 2012 at 10:37
ThargorThargor
1,86214 silver badges24 bronze badges
c = a + b
str[c]
Actually, in this last line you are not changing the type of the variable c. If you do
c_str=str[c]
print "a + b as integers: " + c_str
it should work.
answered Oct 25, 2013 at 9:38
Apart from other answers, one could also use format[]
print["a + b as integers: {}".format[c]]
For example -
hours = 13
minutes = 32
print["Time elapsed - {} hours and {} minutes".format[hours, minutes]]
will result in output - Time elapsed - 13 hours and 32 minutes
Check out docs for more information.
answered Jul 21, 2018 at 15:57
AnanthAnanth
2,45327 silver badges38 bronze badges
You can convert int
into str
using string function:
user = "mohan"
line = str[50]
print[user + "typed" + line + "lines"]
Hugo
26.1k7 gold badges80 silver badges95 bronze badges
answered Jul 25, 2017 at 6:52
1
The easiest and least confusing solution:
a = raw_input["Enter a: "]
b = raw_input["Enter b: "]
print "a + b as strings: %s" % a + b
a = int[a]
b = int[b]
c = a + b
print "a + b as integers: %d" % c
I found this on //freecodeszone.blogspot.com/
Adriaan
17.6k7 gold badges37 silver badges71 bronze badges
answered Jun 26, 2016 at 11:28
ShekharShekhar
751 silver badge1 bronze badge
I also had the error message "TypeError: cannot concatenate 'str' and 'int' objects". It turns out that I only just forgot to add str[] around a variable when printing it. Here is my code:
def main[]:
rolling = True; import random
while rolling:
roll = input["ENTER = roll; Q = quit "]
if roll.lower[] != 'q':
num = [random.randint[1,6]]
print["----------------------"]; print["you rolled " + str[num]]
else:
rolling = False
main[]
I know, it was a stupid mistake but for beginners who are very new to python such as myself, it happens.
answered Dec 10, 2016 at 23:20
This is what i have done to get rid of this error separating variable with "," helped me.
# Applying BODMAS
arg3 = int[[2 + 3] * 45 / - 2]
arg4 = "Value "
print arg4, "is", arg3
Here is the output
Value is -113
[program exited with code: 0]
answered Sep 7, 2017 at 8:59