String concatenate TypeError: can only concatenate str (not "int") to str"
Question:
I am following a tutorial and I am getting an error.
My code should be this:
salaries = {'John':'20','Sally':'30','Sammy':'15'}
print(salaries['John'])
salaries['John'] = salaries['John'] + 30
print(salaries['John'])
I am getting back an error like this
Traceback (most recent call last): File “print.py”, line 9, in
salaries[‘John’] = salaries[‘John’] + 30 TypeError: can only concatenate str (not “int”) to str
Can you help me with this?
Answers:
If you wanted to include the 30 you’d have to put something like str(30)
. That’s why it’s giving you that error cause 30 is an int and the rest are strings you can’t combine strings and ints. Hope this helps
This should fix it:
salaries['John'] = str(int(salaries['John']) + 30)
You need to convert the salaries of John to an int add 30 and then convert it back to a string.
This will change salaries['John']
from 20 to 50
The “+” operator is using for concatenate strings, adding numbers, etc.
in your case you trying to add two integers but in your dictionary “salaries” the values are strings.
you can convert the value to int, adding the numbers and then convert to string to store the value.
Try this:
salaries['John'] = str(int(salaries['John']) + 30)
print(salaries['John'])
I am following a tutorial and I am getting an error.
My code should be this:
salaries = {'John':'20','Sally':'30','Sammy':'15'}
print(salaries['John'])
salaries['John'] = salaries['John'] + 30
print(salaries['John'])
I am getting back an error like this
Traceback (most recent call last): File “print.py”, line 9, in
salaries[‘John’] = salaries[‘John’] + 30 TypeError: can only concatenate str (not “int”) to str
Can you help me with this?
If you wanted to include the 30 you’d have to put something like str(30)
. That’s why it’s giving you that error cause 30 is an int and the rest are strings you can’t combine strings and ints. Hope this helps
This should fix it:
salaries['John'] = str(int(salaries['John']) + 30)
You need to convert the salaries of John to an int add 30 and then convert it back to a string.
This will change salaries['John']
from 20 to 50
The “+” operator is using for concatenate strings, adding numbers, etc.
in your case you trying to add two integers but in your dictionary “salaries” the values are strings.
you can convert the value to int, adding the numbers and then convert to string to store the value.
Try this:
salaries['John'] = str(int(salaries['John']) + 30)
print(salaries['John'])