Domanda Esercizio Python (list comprehension, filter , sorted)

RobotKiller

Utente Iron
24 Ottobre 2022
12
4
0
9
Scrivi un programma interattivo che consenta agli utenti di:
1. filtrare i compiti urgenti;
2. filtrare le attività per anno;
3. ordina gli incarichi per scadenza in ordine crescente;
Scrivere il programma sfruttando lo stile di programmazione funzionale, ad esempio sfruttando la list comprehension, con
funzioni come filter e sorted ed espressioni lambda.

Python:
def sort_tasks(tasks):
    tasks.sort(key = lambda date: date[3])

def Main():

    task1 = {'todo': 'call John for project organization', 'deadline': (27,5,2022), 'urgent': True}
    task2 = {'todo': 'buy a new mouse', 'deadline': (27,12,2021), 'urgent': True}
    task3 = {'todo': 'find a present for Angelina’s birthday', 'deadline': (3,2,2022), 'urgent': False}
    task4 = {'todo': 'organize mega party (last week of April)', 'deadline': (27,11,2021), 'urgent': False}
    task5 = {'todo': 'book summer holidays', 'deadline': (13,6,2022), 'urgent': False}
    task6 = {'todo': 'whatsapp Mary for a coffee', 'deadline': (30,10,2021), 'urgent': False}
    tasks = [task1, task2, task3, task4, task5, task6]

    print("Urgent tasks:")
    urgent_task=[task for task in tasks if task["urgent"]]
    print(urgent_task)

    print(sort_tasks(tasks))

if __name__ == "__main__":
    Main()