-3

ここにいくつかのpython3コードがありますが、エラーを見つけることができません:

httpurl = "http://okgift.ru/audio/Servantes/Don-Kihot/"
httpurl = string(httpurl)
mp3 = 1
mp3 = int(mp3)
ext = ".mp3"
ext = string(ext)
while mp3 < 332:
    final = httpurl+mp3+ext
    print(final)
    mp3 = mp3+1

エラー:

Traceback (most recent call last):
  File "prog.py", line 2, in <module>
    httpurl = string(httpurl)
NameError: name 'string' is not defined

これがオンラインです: http://ideone.com/u0ZBo2

4

2 に答える 2

4

string組み込みの python タイプではありません。str()あなたはおそらく欲しかった:

httpurl = str(httpurl)

しかし、すでにtype でhttpurlあるため、これは冗長です。str()

mp3 = int(mp3)行とについても同じことが言えext = string(ext)ますが、連結するときに文字列にキャストする必要があります。mp3

final = httpurl+str(mp3)+ext

ただし、代わりに文字列の書式設定を使用した方がよいでしょう:

final = '{0}{1}{2}'.format(httpurl, mp3, ext)
于 2012-12-28T20:33:59.110 に答える
3

まずstr、文字列型にキャストするための文字列ではなく、文字列になります。次に、これらの変換は必要ありません。

httpurl = 'http://www.google.com/' # This is a string, no need to cast
ext = '.mp3' # this is a string, no need to cast
for mp3 in range(1, 332):
    final = "{url}{mp3}{ext}".format(url=httpurl, mp3=mp3, ext=ext)
    print final
于 2012-12-28T20:35:56.867 に答える