【问题标题】:Concatenate a string with an incrementing number用递增的数字连接字符串
【发布时间】:2019-02-08 18:01:40
【问题描述】:

这是我的代码:

n = 2
campaign_img = soup.find('div', class_="campaign-img-contain")
name = str(n) + '-' + campaign_name
campaign_pic = request.urlretrieve(campaign_img.img['src'], folder + name + '.png')
print(campaign_pic)
n = n + 1

我想要这个:

2-campaign_name

3-campaign_name

4-campaign_name

结果:

TypeError: +: 'int' 和 'str' 的操作数类型不受支持

最好的解决方案是什么?

【问题讨论】:

  • name = str(n) + '-' + campaign_name;您不能连接字符串和整数。所以将int 转换为str
  • @schwobaseggl 我试过这个,但 n 在一次迭代后不会增加
  • @schwobaseggl 我也想增加 n

标签: python string


【解决方案1】:

正如错误提示的那样,你不能将一个整数和一个字符串连接成另一个字符串。你想要casting。要在 Python 中将整数转换为字符串,请使用内置的 str 函数。

name= n + '-' + campaign_name 行替换为name = str(n) + '-' + campaign_name

更多关于选角(W3Schools):Python Casting

【讨论】:

  • 我试过这个,但我需要在一次迭代后增加 n。这样一来,总是只打印 2-campaign_name。
  • 你是如何迭代的?此代码的一部分是否在循环中?如果是这样,您需要确保 n = 2 在循环开始之前。
  • 很高兴有帮助:)
【解决方案2】:

尝试将整数转换为字符串:

name = str(n) + '-' + campaign_name

【讨论】:

  • 我试过这个,但我需要在一次迭代后增加 n。这样一来,总是只打印 2-campaign_name。
【解决方案3】:

或者,使用字符串格式

name = f"{n}-{campaign_name}"

【讨论】:

猜你喜欢
  • 2013-06-15
  • 1970-01-01
  • 2014-10-08
  • 2013-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多