# Inserire 5 Date e stamparle in ordine crescente # Converto la data nel formato yyyy/MM/dd. # Questo formato permette di ordinare le date def cambiaFormatoData01(dataStringa): dataStringaNew=dataStringa[-4:]+'/' dataStringaNew+=dataStringa[3:6] dataStringaNew+=dataStringa[:2] return dataStringaNew # Converto la data nel formato dd/MM/yyyy. def cambiaFormatoData02(dataStringa): dataStringaNew=dataStringa[-2:]+'/' dataStringaNew+=dataStringa[5:8] dataStringaNew+=dataStringa[:4] return dataStringaNew # Importo la libreria per gestire le esperessioni regolari import re dateStringa=[] # 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: dateStringa.append(dataStringa) flag=False dateStringaCopia=[] # Crea un nuovo vettore con le date in formato yyyy/MM/dd per poterle ordinare for dataStringa in dateStringa: dateStringaCopia.append(cambiaFormatoData01(dataStringa)) # Ordino in modo crescente il vettore con le date nel formato yyyy/MM/dd dateStringaCopia.sort() dateStringa=[] # Copio le date ordinate nel formato yyyy/MM/dd di nuovo nel vettore dataStringa # Durante la copia converto le date ordinate nel formato dd/MM/yyyy for dataStringa in dateStringaCopia: dateStringa.append(cambiaFormatoData02(dataStringa)) # Stampo le 5 date inserite in modo crescente for x,dataStringa in enumerate(dateStringa): print(f"{x+1}) {dataStringa}")