Question Afficher le nombre avec les zéros en tête


Donné:

a = 1
b = 10
c = 100

Comment puis-je afficher un zéro principal pour tous les nombres de moins de deux chiffres?

C'est,

01
10
100

602
2017-09-25 18:06


origine


Réponses:


Vous voilà:

print "%02d" % (1,)

Fondamentalement % est comme printf ou sprintf.


615
2017-09-25 18:08



Vous pouvez utiliser str.zfill:

print str(1).zfill(2) 
print str(10).zfill(2) 
print str(100).zfill(2) 

impressions:

01
10
100

670
2017-07-30 11:58



En Python 2.6+ et 3.0+, vous utiliseriez le format() méthode de chaîne:

for i in (1, 10, 100):
    print('{num:02d}'.format(num=i))

ou en utilisant le built-in (pour un seul numéro):

print(format(i, '02d'))

Voir le PEP-3101 documentation pour les nouvelles fonctions de formatage.


321
2017-09-25 18:43



print('{:02}'.format(1))
print('{:02}'.format(10))
print('{:02}'.format(100))

impressions:

01
10
100

100
2017-11-13 19:30



Ou ca:

print '{0:02d}'.format(1)


88
2017-11-10 10:03



x = [1, 10, 100]
for i in x:
    print '%02d' % i

résulte en:

01
10
100

Lis plus d'informations sur la mise en forme de chaîne en utilisant% dans la documentation.


49
2017-09-25 18:07



La façon Pythonic de faire ceci:

str(number).rjust(string_width, fill_char)

De cette façon, la chaîne d'origine est renvoyée inchangée si sa longueur est supérieure à string_width. Exemple:

a = [1, 10, 100]
for num in a:
    print str(num).rjust(2, '0')

Résultats:

01
10
100

38
2018-04-27 22:02