#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Tue Oct 20 10:00:19 2020 @author: andrea """ Come realizzare una iterazione 1) for variabile in range(20): codice da ripetere if non ci interessa: continue if vogliamo interrompere prima: break else: codice da eseguire se il ciclo è stato completato ovvero se NON si è usato il break 2) while condizione: # se la condizione è vera si esegue il blocco blocco di codice da ripetere posso usare break per terminare il ciclo posso usare il continue per passare al test della condizione aggiornamento di qualcosa che influisce sulla condizione else: codice da eseguire se la condizione è diventata False ovvero non ho usato il break 3) usare una funzione ricorsiva def funzione(dati, contatore): if contatore == 0: # caso base eseguire l'ultima iterazione o non fare nulla o tornare il valore che corrisponde al caso base else: blocco di codice da ripetere risultato = funzione(dati, contatore-1) return risultato modificato def stampa_lista(L, indice): if indice == len(L): return else: print(L[indice]) stampa_lista(L, indice+1) def stampa_lista_a_rovescio(L, indice): if indice == len(L): return else: stampa_lista_a_rovescio(L, indice+1) print(L[indice]) if condizione1: parte da eseguire se la condizione1 è vera elif condizione2: parte da eseguire se la condizione2 è vera else: parte da eseguire se nessuna delle condizioni è vera L = [ 1, 3.5, 'pippo' ] type('testo') => str type(23) => int type(8.9) => float Liste: append(elemento) aggiunge in fondo insert(indice, elemento) aggiunge nella posizione indice per estrare una sottolista potete usare le slice L[inizio:fine+1:incremento] L[indice:indice] = [elemento] come insert L[indice:indice] = [elemento1, elemento2 ....] come più insert per eliminare un elemento L.pop(indice) => ritorna l'elemento L[indice] e lo elimina da L del L[indice] per eliminare più elementi consecutivi L[inizio:fine+1] = [] per ordinare gli elementi in modo distruttivo L.sort() ordinamento crescente distruttivo per creare una nuova lista ordinata sorted(L) Per rovesciare l'ordine reverse=True per eliminare un elemento dalla lista (una sola volta) L.remove(elemento) (deve essere presente) per verificare se elemento è nella lista elemento in L per contare quante volte un elemento è presente L.count(elemento) L1 + L2 => L3 che contiene gli elementi di entrambe L += [45, 46] distruttivo L = L + [45, 46] non distruttivo tuple sono delle sequenze immutabili Stringhe: split permette di spezzare un testo su un separatore separatore.join(lista di stringhe)