Python创建范围000到999

时间:2014-04-19 06:32:04

标签: python list range

我正在使用bin编号编写Python代码,然后创建一个像这样的数字列表

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显示列表的问题

  

3777311000

我需要它像那样写

  

3777310000100

脚本在到达数字5后停止

任何帮助?

由于

3 个答案:

答案 0 :(得分: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的参数

希望这有帮助。

答案 1 :(得分:1)

您需要提供一个格式说明符,因此如果您想在左侧填充零填充四位数字,请使用{1}而不是格式字符串中的{1:04}

答案 2 :(得分:0)

您不应该使用len(bin),而只是使用bin。然后它不会停在5.