【问题标题】:Generate numbers with 3 digits生成 3 位数字
【发布时间】:2014-04-08 12:37:28
【问题描述】:

我想按顺序生成从 000 到 120 的数字。 我知道您可以使用循环生成从 0 到 120 的数字。但我希望所有数字都有 3 位数字。

输出应该是

000
001
002 
...
...
120

代替

0
1
2
...
...
120

是否有任何简单的方法可以在 python 中实现这一点,或者我应该为 0-9 10-99100-120 制作单独的代码?

【问题讨论】:

  • 请向我们展示您尝试过的代码。
  • 代码通常是字符串。你不能有像 001 这样的小数,它将被视为八进制。
  • 以防万一:print("{:03}".format(x))

标签: python python-2.7 integer


【解决方案1】:
["{0:03}".format(i) for i in range(121)]

["%03d" % i for i in range(121)]

打印:

print "\n".join(<either of the above expressions>)

Python 3.6+ 更简洁:

[f"{i:03}" for i in range(121)]

【讨论】:

  • 您能否详细说明语法以获取更多详细信息? {:03} 似乎也有效
  • {:03} 将适用于 format() 函数。 f 字符串更紧凑。请看这里:realpython.com/python-f-strings
【解决方案2】:

python 3.6

for i in range(121):
    print(f'{i:03}')

【讨论】:

    【解决方案3】:
    print [format(item, "03d") for item in xrange(121)]
    

    【讨论】:

      猜你喜欢
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-05
      • 1970-01-01
      • 2017-07-14
      相关资源
      最近更新 更多