显示前导零的数字
鉴于:
a = 1 b = 10 c = 100 我想为小于2位的所有数字显示前导零,即:
 01 10 100 
	
这个给你:
 print "%02d" % (1,) 
 基本上%就像printf或sprint 。 
您可以使用zfill:
 print str(1).zfill(2) print str(10).zfill(2) print str(100).zfill(2) 
打印:
 01 10 100 
 在Python 2.6+和3.0+中,您可以使用format()string方法: 
 for i in (1, 10, 100): print('{num:02d}'.format(num=i)) 
或使用内置的(对于单个号码):
 print(format(i, '02d')) 
有关新的格式化function,请参阅PEP-3101文档。
或这个:
 print '{0:02d}'.format(1) 
 print('{:02}'.format(1)) print('{:02}'.format(10)) print('{:02}'.format(100)) 
打印:
 01 10 100 
 x = [1, 10, 100] for i in x: print '%02d' % i 
结果:
 01 10 100 
阅读文档中使用%的更多关于string格式的信息。
pythonic的方式来做到这一点:
 str(number).rjust(string_width, fill_char) 
这样,如果原始string的长度大于string_width,则原始string将保持不变。 例:
 a = [1, 10, 100] for num in a: print str(num).rjust(2, '0') 
结果:
 01 10 100 
或另一种解决scheme
 "{:0>2}".format(number) 
使用格式string – http://docs.python.org/lib/typesseq-strings.html
例如:
 python -c 'print "%(num)02d" % {"num":5}' 
 width = 5 num = 3 formatted = (width - len(str(num))) * "0" + str(num) print formatted 
如果处理一位或两位数字:
  '0'+str(number)[-2:]或'0{0}'.format(number)[-2:]