2014-04-19 47 views
1

我使用的是箱號碼,然後創建一個這樣使用Python創建範圍000〜999

bin = "377731" 
range(00000, 99999) 

for i in range(len(bin)): 
    target = open('{0}.txt'.format(bin), 'a') ## a will append, w will over-wri$ 
    target.write("{0}{1}000".format(bin,i) + "\n") 
    target.close() 

問題編號列表,Python的顯示列表這樣

編寫Python代碼3777311000

,我需要它把它寫這樣的

也達到數5

任何幫助後腳本停止?

感謝

回答

1

你需要給一個格式說明,所以不是{1}在格式字符串,使用{1:04}如果你想用零填充左側四位數字。

0

您不應該使用len(bin),而只是bin。然後,它並沒有在5

2

停止,我們在您的代碼幾件事情需要改變:

  • 您已經定義bin是具有價值377731的字符串。該字符串的長度爲6,這就是爲什麼循環在5之後停止的原因。

  • 此外,bin是python中的內置函數,所以最好不要將它用作變量的名稱。

  • 在循環中打開和關閉文件是一種矯枉過正。

嘗試此代替:

bin_suffix = "377731" 
target = open('{0}.txt'.format(bin_suffix), 'a') ## a will append, w will over-wri$ 
for i in range(99999): 
    target.write('{}{}'.format(bin_suffix, str(i).zfill(7)) + "\n") 
target.close() 

zfill是一個字符串函數,用零填充字符串的指定的長度。在你的情況下,你需要在377731後7位數,所以你指定7作爲參數zfill

希望這會有所幫助。