Dado:
a = 1
b = 10
c = 100
Como posso exibir um zero inicial para todos os números com menos de dois dígitos?
Isto é,
01
10
100
Em Python 2 você pode fazer:
print "%02d" % (1,)
Basicamente **%*** é como printf
ou sprintf
.
Para Python 3.+ o mesmo comportamento pode ser alcançado com:
print("{:02d}".format(1))
Para Python 3.6+ o mesmo comportamento pode ser alcançado com f-strings:
print(f"{1:02d}")
x = [1, 10, 100]
for i in x:
print '%02d' % i
resultados em:
01
10
100
Leia mais informações sobre a formatação de strings usando % na documentação.
Use uma cadeia de formatos - http://docs.python.org/lib/typesseq-strings.html
Por exemplo:
python -c 'print "%(num)02d" % {"num":5}'