Seite 1 von 1

Berechnung aus Datum und Userinput

Verfasst: Samstag 11. Mai 2019, 17:25
von SF_3444
Hallo,

ich bin totaler Anfänger und komm nicht weiter.

Könnt ihr mir helfen?

Ich möchte aus einem userinput ein Datum in dem Format dd.mm.yyyy erhalten und dann das aktuelle Geburtsdatum daraus berechnen.
Was ich bisher habe. Ich muss die Eingabe dann als Datumstyp festlegen aber daran scheitere ich. Wenn ich den typ der Eingabe bestimmte steht bei class immer "non type".

Den User Input würde ich so abfragen:

userIn = print(input("Bitte geben Sie Ihr Geburtstdatum im Format dd.mm.yy ein:"))

Das aktuelle Datum würde ich so bestimmen:

import datetime
today = datetime.date.today().strftime("%d.%m.%Y")

und dann würde ich gerne das Alter so berechnen:

Alter = userIn-today


Könnt ihr mir helfen, wie ich beim Input den Datentyp Datum erhalte damit ich damit weiterrechnen kann?

Vielen Dank.

Re: Berechnung aus Datum und Userinput

Verfasst: Sonntag 12. Mai 2019, 07:01
von sls
In Python werden Variablen komplett_klein_mit_unterstrich geschrieben. `userIn` ist kein aussagekräftiger Bezeichner. `geburtsdatum` wäre treffender.

So wie du `today` formatierst, kommt da am Ende auch nur wieder ein String als Datumsformat heraus den Python nicht berechnen kann.

Du kannst allerdings beide datetime-Objekte von einander subtrahieren:

Code: Alles auswählen

from datetime import datetime

date_of_birth = datetime.strptime(
    input("Geben Sie Ihr Geburtsdatum im Format <dd:mm:yyyy> ein: "), "%d.%m.%Y"
)
print("Alter: ", int((datetime.today() - date_of_birth).days / 365))

Re: Berechnung aus Datum und Userinput

Verfasst: Sonntag 12. Mai 2019, 09:47
von Sirius3
@SF_3444: weißt Du was der Rückgabewert von ›print‹ ist?

@sls: bei Deiner Berechnung ist das Alter um den Tag des Geburtstags herum ziemlich ungenau.