2016-03-21 4 views
0

def Datum (Monat, Tag, Jahr):Drucken des Datums-String unter Verwendung der Formatierung

o Einschränkung: Sie müssen String-Formatierung%

Beispiele verwenden:

Datum (2,29,2016) → "2016.02.29"

Datum (11,8,2008) → "11.08.2008"

Datum (1,3,1) → „01/03/000

so ist meine Aufgabe, und bisher habe ich dieses def Datum (Monat, Tag, Jahr):

print("%2d" % month, "%2d" %day, "%4d" %year") 

ich gerade lernen, wie man diese Funktion% verwenden, so bin ich ein wenig verloren, warum Mein Code funktioniert nicht. Meine Logik ist, dass ich 2 ganze Zahlen für den Monat und Tag und 4 für das Jahr möchte. Was mache ich hier falsch?

+0

Sie haben ein zusätzliches Zitat nach 'Jahr'. Bitte lesen Sie http://stackoverflow.com/help/how-to-ask – msw

Antwort

3

Verwenden

print ("%02d/%02d/%04d" % (month, day, year)) 
0

Die bevorzugte Syntax für die Formatierung Strings in Python ist jetzt str.format().

Diese Methode der String-Formatierung ist der neue Standard in Python 3 und sollte die % bevorzugt seine Formatierung in String Formatting Operations in neuem Code beschrieben.

- Python 2.7 docs on str.format

Hier ist, wie Sie die date_string Funktion str.format schreiben würde:

def date_string(month, day, year): 
    return "{:02d}/{:02d}/{:04d}".format(month, day, year) 

Und wie Sie sehen können, ist es für alle Ihre Beispiele funktioniert:

In [1]: def date_string(month, day, year): 
    ...:  return "{:02d}/{:02d}/{:04d}".format(month, day, year) 
    ...: 

In [2]: date_string(2,29,2016) 
Out[2]: '02/29/2016' 

In [3]: date_string(11,8,2008) 
Out[3]: '11/08/2008' 

In [4]: date_string(1,3,1) 
Out[4]: '01/03/0001'