added earliest.py
This commit is contained in:
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
*~
|
||||||
|
*.sw*
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
26
2018-08-06-earliest.py
Normal file
26
2018-08-06-earliest.py
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
|
||||||
|
class Date:
|
||||||
|
|
||||||
|
def __init__(self, date_string):
|
||||||
|
self.month, self.day, self.year = split_date_string(date_string)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f'{self.month:02}/{self.day:02}/{self.year}'
|
||||||
|
|
||||||
|
def __lt__(self, other):
|
||||||
|
for attr in ['year', 'month', 'day']:
|
||||||
|
if getattr(self, attr) < getattr(other, attr):
|
||||||
|
return True
|
||||||
|
elif getattr(self, attr) > getattr(other, attr):
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def get_earliest(*date_strings):
|
||||||
|
dates = [Date(date_string) for date_string in date_strings]
|
||||||
|
return str(min(dates))
|
||||||
|
|
||||||
|
|
||||||
|
def split_date_string(date_string):
|
||||||
|
month, day, year = date_string.split('/')
|
||||||
|
return int(month), int(day), int(year)
|
||||||
BIN
__pycache__/earliest.cpython-36.pyc
Normal file
BIN
__pycache__/earliest.cpython-36.pyc
Normal file
Binary file not shown.
Reference in New Issue
Block a user