Apr-24-2023, 05:28 PM
You still need to import the classes
Also
datetime
and date
.Also
calendar.isleap
.from calendar import isleap from datetime import datetime, date class Persoon: def __init__(self, naam, sekse, geboortedatum): self._naam = naam self._sekse = sekse self._geboortedatum = datetime.strptime(geboortedatum, "%d-%m-%Y").date() @property def naam(self): return self._naam @property def geb_datum(self): return self._geboortedatum @property def vrouw(self): return self._sekse == "V" @property def man(self): return self._sekse == "M" def leeftijd(self, today=None): today = today or date.today() years = today.year - self.geb_datum.year geboortedatum = self.geb_datum # leap fix 29 feb. if ( geboortedatum.month == 2 and geboortedatum.day == 29 and not isleap(today.year) ): geboortedatum = date(geboortedatum.year, 3, 1) if (today.month, today.day) < (self.geb_datum.month, self.geb_datum.day): years -= 1 return years p1 = Persoon("John", "M", "29-2-1980") # 2023 is not a leap year print(p1.naam, p1.leeftijd(date(2023, 3, 1)))
Almost dead, but too lazy to die: https://sourceserver.info
All humans together. We don't need politicians!
All humans together. We don't need politicians!