+;的操作数类型不受支持:‘;int’;和‘;str’;(python)

+;的操作数类型不受支持:‘;int’;和‘;str’;(python),python,Python,我正在用python编写一个小的增量游戏,当我试图运行它时,它会弹出一个错误(标题中的错误)。我希望能得到一些帮助 print("Farming complete! You earned " + str(((fullshark * shark_bite) + ((golden_shark * 5) * shark_bite) * int(farminglength) + " fish!"))) 当您尝试将字符串添加到数字时会发生错误,这是因为您在一行代

我正在用python编写一个小的增量游戏,当我试图运行它时,它会弹出一个错误(标题中的错误)。我希望能得到一些帮助

print("Farming complete! You earned "
   + str(((fullshark * shark_bite)
         + ((golden_shark * 5) * shark_bite) * int(farminglength)
         + " fish!")))

当您尝试将字符串添加到数字时会发生错误,这是因为您在一行代码中执行了太多操作,并且括号设置不正确

为了更清楚地了解这一点,我建议采取以下措施:

calculate_fish = ((fullshark * shark_bite) + (golden_shark * 5) * shark_bite) * int(farminglength)
farming_complete_msg = "Farming complete! You earned {0} fish!".format(calculate_fish)
print(farming_complete_msg)
不确定“calculate_fish”中的数学是否正是您想要的(很难知道括号的用途),但如果不是您需要的,您可以调整它


我希望有帮助

你不能连接str和int,消息说,我想,你已经知道了,因为你在一个数字上使用了
str
。我想这只是一个输入错误,括号放错了地方?你的代码不好(不太可读)。试着分成几行。第一行:计算点的长度,可能会将其拆分为更多行。这也有助于发现错误。在这种情况下,
+
中的一个左边有一个整数,右边有一个字符串,但是从代码中我们不知道变量的类型。在调用
str()
的内部有
+“fish”
,但它应该在后面。更好的是,使用f-strings.To njzk2,我试图让它打印出这个等式。这就是为什么整个方程都在括号内,前面有一个str。使用带引号的字符串打印方程。