Étant donné :
a = 1
b = 10
c = 100
Comment afficher un zéro initial pour tous les nombres de moins de deux chiffres ?
C'est-à-dire,
01
10
100
En Python 2, vous pouvez le faire :
print "%02d" % (1,)
En gros, % est comme printf
ou sprintf
.
Pour Python 3.+, le même comportement peut être obtenu avec :
print("{:02d}".format(1))
Pour Python 3.6+, le même comportement peut être obtenu avec les chaînes f :
print(f"{1:02d}")
x = [1, 10, 100]
for i in x:
print '%02d' % i
résulte en :
01
10
100
Lisez [plus d'informations sur le formatage des chaînes de caractères à l'aide de %][1] dans la documentation.
[1] : https://pyformat.info/
Utiliser une chaîne de format - [http://docs.python.org/lib/typesseq-strings.html][1]
Par exemple :
python -c 'print "%(num)02d" % {"num":5}'