Python 创建范围 000 到 999

1 投票
3 回答
2888 浏览
提问于 2025-04-18 03:22

我正在写一个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 的参数。

希望这能帮到你。

撰写回答