【问题标题】:'Must be a str, not int' when trying to increment a integer尝试递增整数时“必须是 str,而不是 int”
【发布时间】:2018-12-28 21:33:21
【问题描述】:

所以好几个小时以来,我一直陷入一个我似乎无法解决的问题,这里是 python 代码:

lines = User3^1
dsplit = lines.split('^')
value = dsplit[1][:1]
value += 1

本质上,这里发生的事情是我获取一个字符串并将其拆分,然后获取起始数字并将其放在一个名为 value 的整数上,然后将其加一以完成工作,问题是 Python 在试图增加:

TypeError: must be str, not int

我在 Google 上对此进行了很多研究,但没有一个答案符合我的问题,到目前为止我所做的是我试图通过以下方式转换为整数:

int(value) += 1

但当我尝试运行“无法分配给函数调用”时,它会给我一条错误消息

我很困惑,有人可以帮我解决这个问题吗? 谢谢!

【问题讨论】:

  • 当你拆分一个字符串时,它仍然是一个字符串。如果您希望它是一个,则必须将其转换为 int
  • 这是我过去 3 个小时一直在尝试做的事情,但由于帖子中提到的原因无法解决

标签: python-3.x


【解决方案1】:

Error: Can't Assign to Function Call 第一条评论解释了为什么您收到错误“无法分配给函数调用”

lines = 'User3^1'
dsplit = lines.split('^')
value = int(dsplit[1][:1])
value += 1 #output 2

【讨论】:

  • 谢谢,不敢相信我错过了这么明显的东西,我试图将值本身转换为整数,而不是我输入的值(拆分字符串)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-08
  • 2018-07-23
  • 1970-01-01
  • 2022-11-21
  • 2017-01-27
相关资源
最近更新 更多