python String concatenate TypeError:只能将字符串(不是“int”)连接到字符串

uwopmtnx  于 2023-04-04  发布在  Python
关注(0)|答案(3)|浏览(117)

我正在学习教程,但出现了一个错误。
我的代码应该是这样的:

salaries = {'John':'20','Sally':'30','Sammy':'15'}
print(salaries['John'])

salaries['John'] = salaries['John'] + 30
print(salaries['John'])

我正在返回这样的错误
追溯(最近一次调用):File“print.py“,line 9,in salaries['John'] = salaries['John'] +30 TypeError:只能将字符串(而不是“int”)连接到字符串
你能帮我一下吗?

von4xj4u

von4xj4u1#

这应该可以修复它:

salaries['John'] = str(int(salaries['John']) + 30)

您需要将John的薪水转换为int add 30,然后将其转换回字符串。
这会将salaries['John']从20更改为50

kmpatx3s

kmpatx3s2#

如果你想包含30,你必须输入像str(30)这样的东西。这就是为什么它会给你错误原因30是一个int,其余的都是字符串,你不能合并字符串和int。希望这有帮助

a2mppw5e

a2mppw5e3#

“+”运算符用于连接字符串,添加数字等。在您的情况下,您试图添加两个整数,但在字典“salaries”中的值是字符串。您可以将值转换为int,添加数字,然后转换为字符串以存储值。
试试这个:

salaries['John'] = str(int(salaries['John']) + 30)
print(salaries['John'])

相关问题