2012-12-28 40 views
-3

下面是一些python3代碼和它,我無法找出錯誤:找不到在簡單的Python代碼:(錯誤

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

+0

錯誤正是它所說的:沒有什麼叫'string'。你認爲'string'應該是什麼?你的意思是'str'? – BrenBarn

+3

爲什麼要將給定類型的值賦值給var,然後再次將其轉換爲相同類型? – ddinchev

回答

4

string不是內置的Python類型,你想str()也許是:

httpurl = str(httpurl) 

但這是多餘的,因爲httpurl已經str()

這同樣適用於線mp3 = int(mp3)ext = string(ext),但你需要轉換mp3爲字符串串聯時:

final = httpurl+str(mp3)+ext 

儘管它會更好,如果你使用的字符串,而不是格式化:

final = '{0}{1}{2}'.format(httpurl, mp3, ext) 
+0

稍後與'int()'一樣。他將需要'final()'行中的'str()',儘管... – kindall

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