带前导零的randint
我想生成从00000到99999的数字。
使用
number=randint(0,99999)
我生成的值没有前导零,当然是23而不是00023。有没有什么技巧可以确保总是生成5位数的值,比如%05d,还是说我真的需要用Python的字符串技巧来填补长度小于5时前面的零呢?
谢谢你的阅读和帮助,
B
5 个回答
1
另外,使用 str(randint(0, 99999)).zfill(5)
这个方法,性能会比字符串格式化快一点,大约快20%,比使用 str.rjust 方法快1%。
3
randint
生成的数字是整数。整数就是没有小数的数字,打印出来的时候不会有前面的零。
如果你想要一个字符串形式的数字,这种形式可以有前面的零,可以试试:
str(randint(0, 99999)).rjust(5, "0")
11
你需要用一个Python的小技巧,因为整数本身是没有前导零的。
number="%05d" % randint(0,99999)