2017-10-06 1 views
0

je le code suivant:variables remplaçant tout d'abord d'autres

from a3_functions import convert_date 

date=int(input('Please enter the date in the format: ddmmyyyy')) 

days, months, years=convert_date(date) 

print("{0:02d}/{0:02d}/{0:04d}".format(days, months, years)) 

print(days) 

print(months) 

print(years) 

Mais quand je le lance produit les éléments suivants:

Please enter the date in the format: ddmmyyyy03061314 
03/03/0003 
3 
6 
1314 

Pourquoi la forme de la phrase de ma sortie juste sortie de la première à trois variables fois? Même si je les imprime individuellement, ils impriment leurs valeurs respectives.

+0

S'il vous plaît utiliser les outils de formatage pour formater le code dans votre question le rendre plus lisible. – ingofreyer

+0

Si ma réponse vous a été utile, je serais très heureux si vous pouviez le marquer comme la bonne réponse. S'il vous plaît revenez avec plus de questions, si vous avez besoin de plus de précisions. – ingofreyer

Répondre

0

Votre chaîne de format utilise des index de position (qui sont tous 0 et prennent donc le premier élément).

Essayez cette chaîne de format à la place (je essentiellement seulement enlevé tous les 0 devant la :):

>>> print("{:02d}/{:02d}/{:04d}".format(days, months, years)) 
03/06/1314 

Si vous souhaitez conserver les arguments de position, vous pouvez simplement augmenter les chiffres comme ceci:

>>> print("{0:02d}/{1:02d}/{2:04d}".format(days, months, years)) 
03/06/1314 

Alternativement, vous pouvez nommer également les positions d'utiliser une chaîne de format plus lisible:

>>> print("{day:02d}/{month:02d}/{year:04d}".format(day=days, month=months, year=years)) 
03/06/1314 

PyFormat a une excellente vue d'ensemble sur les chaînes de format nouveau style:

Avec un nouveau style formatage, il est possible (et en Python 2.6, même obligatoire) pour donner un indice de position placeholders explicite.

Cela permet de réorganiser l'ordre d'affichage sans modifier les arguments .

Cette opération n'est pas disponible avec le formatage ancien.

Nouveau:. '{1} {0}' Format ('un', 'deux')

Sortie: deux un