python向字符串添加数字

2024-06-07 19:54:46 发布

您现在位置:Python中文网/ 问答频道 /正文

试图将count int添加到字符串结尾(网站url):

代码:

  count = 0
  while count < 20:
    Url = "http://www.ihiphopmusic.com/music/page/" 
    Url = (Url) + (count)
    #Url = Url.append(count)
    print Url

我想要:

http://www.ihiphopmusic.com/music/page/2
http://www.ihiphopmusic.com/music/page/3
http://www.ihiphopmusic.com/music/page/4
http://www.ihiphopmusic.com/music/page/5

结果:

Traceback (most recent call last):
  File "grub.py", line 7, in <module>
    Url = Url + (count)
TypeError: cannot concatenate 'str' and 'int' objects

Tags: 字符串代码comhttpurl网站wwwcount
3条回答

试试看

 Url = (Url) + str(count)

相反。问题是您试图连接一个字符串和一个数字,而不是两个字符串。str()会帮你修好的。

str()将提供适合连接的count的字符串版本,而不实际将count从int转换为字符串。请参见以下示例:

>>> n = 55

>>> str(n)
>>> '55'

>>> n
>>> 55

最后,人们认为格式化字符串比连接字符串更有效。一、 e

 Url = '%s%d' % (Url, count)

或者

 Url = '{}{}'.format(Url, count)

此外,还有一个无限循环,因为循环中count的值从未更改。修复此添加

count += 1

在你的圈底。

尝试将count转换为字符串,如

Url = "http://www.ihiphopmusic.com/music/page/" + str(count)

或使用格式

Url = "http://www.ihiphopmusic.com/music/page/%s" % count

或者甚至

Url = "http://www.ihiphopmusic.com/music/page/{count}".format(count=count) 

问题就在于回溯说明了什么。 Python不知道如何处理"hello" + 12345

必须先将整数count转换为字符串。

此外,您永远不会增加count变量,因此while循环将永远进行下去。

试试这样的:

count = 0
url = "http://example.com/"
while count < 20:
    print(url + str(count))
    count += 1

或者更好:

url = "http://example.com/"
for count in range(1, 21):
    print(url + str(count))

正如另一位邓斯所指出的,在Python 2.x中,您还可以

print url + str(count)

相关问题 更多 >

    热门问题