# Inserire 5 Date e stamparle in ordine crescente # Importo la libreria per gestire le esperessioni regolari import re # Importo la libreria per gestire le date e ore import datetime as dt dataStringa="" dateObj=[] # Imposto il formato della data per controllare se la data inserita è corretta formato="(0[1-9]|[12][0-9]|3[01])[-/](0[1-9]|1[012])[-/](19|20)\d\d" # Inserisco le 5 date for x in range(5): flag=True while flag: dataStringa=input(f"Data (dd/MM/yyyy) [{(x+1)}]:") # Controllo se la data è corretta confrontandola con il formato atteso if re.match(formato,dataStringa)!=None: # Estraggo dalla data di tipo stringa l'anno, il mese e il giorno anno=int(dataStringa[-4:]) mese=int(dataStringa[3:5]) giorno=int(dataStringa[:2]) # Aggiungo al vettore un oggetto di tipo data # Uso il costruttore dell'oggetto per inizializzare la data con anno, mese, giorno dateObj.append(dt.date(anno,mese,giorno)) flag=False # Ordino il vettore con le date in modo crescente dateObj.sort() for dataObj in dateObj: # Il metodo strftime dell'oggetto data permette d'impostare il formato della data in dd/MM/yyyy print(dataObj.strftime("%d/%m/%Y"))