From d98f46ce647846b0aa30b2e16a30fd4e152a1bf5 Mon Sep 17 00:00:00 2001 From: Carlos Maiolino Date: Thu, 10 Jul 2025 22:55:07 +0200 Subject: Add new code Signed-off-by: Carlos Maiolino --- mit/extented_class_example/Person.py | 38 ++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 mit/extented_class_example/Person.py (limited to 'mit/extented_class_example/Person.py') diff --git a/mit/extented_class_example/Person.py b/mit/extented_class_example/Person.py new file mode 100644 index 0000000..481dd69 --- /dev/null +++ b/mit/extented_class_example/Person.py @@ -0,0 +1,38 @@ +#!/usr/bin/python3 + +import datetime + +class Person(object): + def __init__(self, name): + """Create a person called name""" + self.name = name + self.birthday = None + self.lastName = name.split(' ')[-1] + + def getLastName(self): + """return self's last name""" + return self.lastName + + def __str__(self): + """return self's name""" + return self.name + + + def setBirthday(self,month,day,year): + """sets self's birthday to birthDate""" + self.birthday = datetime.date(year,month,day) + + def getAge(self): + """returns self's current age in days""" + if self.birthday == None: + raise ValueError + return (datetime.date.today() - self.birthday.days()) + + def __lt__(self, other): + """ + return True if self's name is lexicographically less than other's + name, and False otherwise + """ + if self.lastName == other.lastName: + return self.name < other.name + return self.lastName < other.lastName -- cgit v1.2.3