Op 20 januari 2025 werd Donald John Trump geïnaugureerd als zevenenveerstigste president van de Verenigde Staten. Sinds die dag zijn er vier voormalige Amerikaanse presidenten nog in leven: Bill Clinton, George W. Bush, Barack Obama en Joe Biden.

presidenten

In de geschiedenis van Amerika zijn er vijf perioden geweest waar er vijf voormalige Amerikaanse presidenten nog in leven waren:

Herbert Hoover leefde nog 11.553 dagen (31 jaar en 230 dagen) nadat hij zijn ambt had neergelegd. James Polk kon daarentegen slechts 3 maanden (103 dagen) van zijn pensioen genieten. In totaal zijn er acht presidenten geweest die nooit de status van "voormalig president" bereikten omdat ze overleden tijdens hun ambtstermijn: William H. Harrison (longontsteking), Zachary Taylor (buikgriep), Abraham Lincoln (vermoord), James A. Garfield (vermoord), William McKinley (vermoord), Warren G. Harding (hersenbloeding), Franklin D. Roosevelt (hersenbloeding) en John F. Kennedy (vermoord).

Opgave

We werken met tekstbestanden die informatie bevatten over de levensduur en de ambtstermijn van de staatshoofden van een land. Elke regel bevat vijf informatievelden over een staatshoofd, die telkens van elkaar gescheiden worden door één enkele tab: i) naam van het staatshoofd, ii) geboortedatum, iii) begin van (eerste) ambtstermijn, iv) einde van (laatste) ambtstermijn en v) datum van overlijden. De vier datumvelden worden omschreven in het formaat dd/mm/jjjj, waarbij elk deel staat voor een natuurlijk getal zonder voorloopnullen: dd staat voor de dag, mm voor de maand en jjjj voor het jaartal. Hieronder staat een voorbeeld van zo een bestand met de informatie over de laatste tien presidenten van de Verenigde Staten.

Richard Nixon	9/1/1913	20/1/1969	9/8/1974	22/4/1994
Gerald Ford	14/7/1913	9/8/1974	20/1/1977	26/12/2006
Jimmy Carter	1/10/1924	20/1/1977	20/1/1981	29/12/2024
Ronald Reagan	6/2/1911	20/1/1981	20/1/1989	5/6/2004
George H. W. Bush	12/6/1924	20/1/1989	20/1/1993	30/11/2018
Bill Clinton	19/8/1946	20/1/1993	20/1/2001	
George W. Bush	6/7/1946	20/1/2001	20/1/2009	
Barack Obama	4/8/1961	20/1/2009	20/1/2017	
Joe Biden	20/11/1942	20/1/2021	20/1/2025	
Donald Trump	14/6/1946	20/1/2017		

Als een staatshoofd tijdens meerdere onderbroken perioden zijn ambt heeft uitgeoefend, dan gaan we er gemakkelijkshalve van uit dat er slechts één ononderbroken ambtstermijn is die loopt van het begin van de eerste ambtstermijn tot het einde van de laatste ambtstermijn. Als het staatshoofd op vandaag nog in functie is, dan wordt het einde van zijn ambtstermijn voorgesteld door de lege string. Als het staatshoofd op vandaag nog in leven is, dan wordt de datum van zijn overlijden voorgesteld door de lege string. Gevraagd wordt:

Voorbeeld

In onderstaande voorbeeldsessie gaan we ervan uit dat het tekstbestand vs_presidenten.txt zich in de huidige directory bevindt.

>>> gebeurtenissen = staatshoofden('vs_presidenten.txt')
>>> gebeurtenissen['George Washington']
(datetime.date(1732, 2, 22), datetime.date(1789, 4, 30), datetime.date(1797, 3, 4), datetime.date(1799, 12, 14))
>>> gebeurtenissen['Barack Obama']
(datetime.date(1961, 8, 4), datetime.date(2009, 1, 20), datetime.date(2017, 1, 20), None)
>>> gebeurtenissen['Donald Trump']
(datetime.date(1946, 6, 14), datetime.date(2017, 1, 20), None, None)

>>> pensioen('Herbert Hoover', gebeurtenissen)
11553
>>> pensioen('James K. Polk', gebeurtenissen)
103
>>> pensioen('Bill Clinton', gebeurtenissen)

>>> pensioen('Abraham Lincoln', gebeurtenissen)
0
>>> pensioen('Donald Trump', gebeurtenissen)
0
>>> pensioen('Donald Duck', gebeurtenissen)
Traceback (most recent call last):
AssertionError: onbekend staatshoofd

>>> import datetime
>>> levend(gebeurtenissen)
{'Donald Trump', 'Joe Biden', 'Barack Obama', 'Bill Clinton', 'George W. Bush'}
>>> levend(gebeurtenissen, voormalig=True)
{'Joe Biden', 'Barack Obama', 'Bill Clinton', 'George W. Bush'}
>>> levend(gebeurtenissen, voormalig=True, referentie=datetime.date(2017, 1, 20))
{'George H. W. Bush', 'George W. Bush', 'Jimmy Carter', 'Bill Clinton', 'Barack Obama'}
>>> levend(gebeurtenissen, voormalig=True, referentie=datetime.date(2016, 12, 31))
{'George W. Bush', 'George H. W. Bush', 'Bill Clinton', 'Jimmy Carter'}
>>> levend(gebeurtenissen, voormalig=True, referentie=datetime.date(1861, 12, 31))
{'Martin Van Buren', 'Franklin Pierce', 'Millard Fillmore', 'James Buchanan', 'John Tyler'}
>>> levend(gebeurtenissen, voormalig=True, referentie=datetime.date(1994, 3, 26))
{'Jimmy Carter', 'Ronald Reagan', 'Gerald Ford', 'Richard Nixon', 'George H. W. Bush'}
>>> levend(gebeurtenissen, voormalig=True, referentie=datetime.date(2003, 10, 12))
{'Gerald Ford', 'Jimmy Carter', 'George H. W. Bush', 'Bill Clinton', 'Ronald Reagan'}

Epiloog

Hieronder staat een grafische tijdslijn met de levensduur en de ambtstermijn van alle presidenten van de Verenigde Staten. Sinds het presidentschap in 1789 werd ingevoerd, zijn er vijfenveertig personen president van de Verenigde Staten geweest. Ze worden opgelijst in chronologische volgorde van uitoefening van hun presidentschap (Grover Cleveland en Donald Trump zijn de enige presidenten die het ambt tijdens twee onderbroken perioden hebben uitgeoefend; zij werden opgenomen in de volgorde van hun eerste presidentschap).

tijdslijn van Amerikaanse presidenten

Het gebeurt zelden dat zoveel voormalige Amerikaanse presidenten samen te zien zijn. Meestal komen ze enkel samen voor officiële gebeurtenissen zoals de inauguratie van een nieuwe president, maar op 21 oktober 2017 waren de vijf voormalige presidenten Jimmy Carter, George H. W. Bush, Bill Clinton, George W. Bush en Barack Obama samen te zien op een benefietconcert dat geld inzamelde voor de slachtoffers van de orkanen Harvey, Irma en Maria.

vijf voormalige amerikaanse presidenten