Python 创建范围 000 到 999
我正在写一个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
你不应该用 len(bin)
,而是直接用 bin
。这样的话,它就不会在5那里停止了。
1
你需要提供一个格式说明符,所以在你的格式字符串中,不要用 {1}
,如果你想要四位数字并且左边用零填充的话,应该用 {1:04}
。
3
你的代码里有几个地方需要改动:
你把
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
的参数。
希望这能帮到你。