в python как преобразовать однозначное число в двузначную строку?

Так сказать, у меня есть

a = 5

Я хочу напечатать его как строку '05'

5 ответов


print "%02d"%a является вариантом python 2

python 3 использует несколько более подробную систему форматирования:

"{0:0=2d}".format(a)

соответствующая ссылка doc для python2: http://docs.python.org/2/library/string.html#format-specification-mini-language

для python3 это http://docs.python.org/3/library/string.html#string-formatting


a = 5
print '%02d' % a
# output: 05

оператор " % " называется строка форматирования оператор при использовании со строкой на левой стороне. '%d' - это код форматирования для печати целого числа (вы получите ошибку типа, если значение не является числовым). С '%2d вы можете указать длину, и '%02d' можно использовать для установки символа заполнения в 0 вместо пробела по умолчанию.


>>> print '{0}'.format('5'.zfill(2))
05

подробнее здесь.


>>> a=["%02d" % x for x in range(24)]
>>> a
['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23']
>>> 

Это просто


в Python3 вы можете:

print("%02d" % a)