



























Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Appunti relativi all'esame di "Fondamenti di Informatica" sul linguaggio Python. Gli appunti vertono SOLO sulla spiegazione della teoria del linguaggio di programmazione e sulla sua applicazione agli esercizi. I macro argomenti trattati sono: -- Principali tipi di dato -- Istruzioni principali -- Strutturazione dei programmi -- Accesso ai file Maggiori informazioni sul contenuto al seguente disponibili cercando Giorgio Fumera Unica, nella sezione insegnamenti Fondamenti di Informatica.
Tipologia: Esercizi
1 / 35
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




























Sintassi: Per commentare un codice si usa “#”. Si usano per mandare a schermo un qualsiasi qualcosa. Indentazione: “Indentare” significa avere il codice strutturato con spazi (rientri). Fondamentalmente si usa per rendere più leggibile un codice.
Una variabile possiamo definirla come un contenitore di un valore (o collezioni di valori) variabile. Ad esempio, la variabile “X” può essere utilizzata per indicare il peso di un individuo, senza doverlo andare a ripescare ogni volta durante la scrittura del codice. Nota: una variabile può essere creata solo nel momento in cui si abbia almeno un valore da assegnargli. Nomi legali per le variabili: pesopersona _peso_persona PESOPERSONA Nomi illegali per variabili: peso-persona peso persona 2pesopersona Nota: Python è case sensitive! Si può assegnare il valore a più variabili assieme: Che è uguale a scrivere i singoli valori uno ad uno. Si può anche assegnare lo stesso valore per più variabili nel seguente modo:
Se non sappiamo che tipo di dato contenga una variabile possiamo usare la funzione “type” nel seguente modo: In questo caso la risposta di Python sarà “int”.
Infatti, i tipi di dato che possiamo avere con Python sono:
Con la funzione “replace” possiamo andare a sostituire qualcosa nella nostra stringa: Con la precedente funzione siamo andati infatti a sostituire tutte le “o” presenti in x con delle “w”, per cui Python stamperà “Ciao ho fame”. Abbiamo già detto che non vi è la possibilità di concatenare tipi di dati diversi, se volessimo fare una cosa del genere dovremmo utilizzare la funzione “format”: In questo modo verrebbe stampato “Ciao sono Luca e sono nato il 15”. Questo può essere anche fatto come variabile nel seguente modo: Possiamo fare lo stesso ragionamento nel caso di più valori e anche tramite indicizzazione: E quello che otterremmo sarebbe “Ciao sono Luca e sono nato il 1.70, peso 15 e altezza 65”. Poniamo il caso noi scriviamo una stringa tra i doppi apici e dobbiamo usare le virgolette. Per fare una cosa del genere usiamo l’”escape” dei caratteri, ovvero il back slace (): Così che venga stampato “Ciao sono luca e sono “figo””. La stessa cosa viene fatta nel caso di singoli apici: E in questo modo sarà stampato “Sono alla ricerca dell’amore”. La funzione eval: La funzione “eval” può quindi essere usata per “convertire” in valori numerici i dati acquisiti mediante la funzione input. Nelle istruzioni di assegnamento che hanno lo scopo di acquisire valori numerici tramite input, la funzione eval può essere usata in combinazione con input, in un’unica espressione come nel seguente esempio: (Il discorso verrà ripreso in seguito).
Boolean: I valori booleani altro non sono che vero o falso, e sono essenziali nelle condizioni if. Nel precedente esempio si è chiesto al programma se realmente 5 sia minore di 10, e Python per tutta risposta ha stampato “True”. Ma vediamo un altro esempio con gli if (che verranno ripresi dopo): La precedente condizione ha riportato come valore booleano True, per cui Python stamperà “Sono minore di 10”. È possibile anche valutare i valori delle variabili: Attenzione perché non è molto intuitivo, in questo caso Python stamperà “True”, mentre nel caso di 0 stamperà “False”. Ci sono una serie di valori che Python valuterebbe con “False”, questa viene di seguito riportata: False: bool(False) bool(0) bool(None) bool(“”) bool([]) bool(()) bool({}) Ma ritorniamo agli if: In questo caso, essendo il valore 0 associato a “False”, Python stamperà “Bisogna andare a prendere il pane”; infatti la condizione è: se pane è vero stampa “Non c’è bisogno…”, sennò stampa “Bisogna andare…”. Operazioni aritmetiche Come operatori aritmetici abbiamo:
Abs; restituire il valore assoluto di un numero: Per cui il valore che restituirà sarà 7. Pow; che sta per potenza e ne restituisce il risultato: Il cui ovvio risultato è 25. In particolare, nel caso di un confronto tra due valori di tipo stringa, gli operatori <=, >= e > si riferiscono all’ordinamento alfabetico, con la convenzione che le cifre precedono le (sono “minori” delle) lettere maiuscole, le quali a loro volta precedono le lettere minuscole.
Parliamo dell’espressione condizionale if , è utilizzato come a dire “se la condizione è verificata esegui questa operazione, sennò quest’altra operazione”. Nel caso di esito negativo sarebbe stata stampata solo la seconda frase, in quanto fuori dall’if. Operatori di comparazione:
La prossima istruzione è continue , che viene usata come a dire “se questa condizione è verificata passo oltre”, ovvero per passare alla prossima iterazione: Per cui verranno stampati tutti i numeri da 1 a 6 escluso il 3. Anche in questo caso viene utilizzata l’istruzione else a fine di una condizione: Per cui verranno stampati tutti i numeri da 1 a 5 ed infine “Ho finito”.
Il for viene utilizzato per iterare una sequenza, avendo già una lista di valori: E in questo modo verrebbero stampati “Milano, Roma, Napoli”. In questo esempio, nella seconda riga la parola “città” viene utilizzata ad indicare gli elementi della “lista_città”, in questo senso avremmo potuto utilizzare qualsiasi termine. Altro esempio: In questo caso abbiamo preso una stringa, composta da una sola parola “Anguria” e abbiamo mandato in stampa le singole lettere; il risultato per cui saranno le lettere “A n g u r i a”. Altro esempio: In questo caso non esiste un insieme di elementi, ma viene creato automaticamente; si tratta di sei valori che partono da zero (0, 1, 2, 3, 4, 5). Esattamente come nel ciclo while, anche nel for possono essere utilizzate le funzioni else, continue, break:
Parliamo ora delle collezioni di dati che abbiamo già introdotto precedentemente: liste, tuple, set e dictionary. Una collezione di dati è ciò che distingue questi tipi di dati dai dati delle variabili normali, le quali possono avere un singolo valore; per fare ciò dobbiamo trasformare questi valori in queste collezioni. Liste: Le liste sono collezioni di dati ordinata (quindi indicizzate) e modificabili; inoltre permettono duplicati. Gli elementi che compongono una lista sono contenuti all’interno di parentesi quadre, e possono essere elementi di tipo diverso. Tramite l’istruzione “type”, come abbiamo già detto viene riportato il tipo di collezione, in questo caso una lista: Allo stesso modo, con l’istruzione ”len” viene riportata la lunghezza (quantità di elementi) della lista, in questo caso 3: Infine, tramite l’istruzione “list” è possibile creare una lista, per cui verrà stampato [‘Milano’, 98, 0.8]: Per accedere agli elementi si userà lo stesso metodo delle stringhe, per cui volendo stampare il primo elemento dovremmo fare come segue: Stessa cosa per i range, per cui volendo stampare solo un determinato numero di elementi di una lista, ad esempio i primi due dovremmo fare come segue: Nota: l’estremo finale non è mai incluso! È possibile anche modificare gli elementi presenti in una lista, ad esempio se volessimo avere come primo elemento Roma, e non più Milano, dovremmo fare nel seguente modo: In questo modo, la lista che verrà stampata sarà [‘Roma’, 98, 0.8]. Allo stesso modo si può fare utilizzando i range:
Un altro metodo, più complesso, per mandare a schermi gli elementi di una lista potrebbe essere: Modificare l’ordine
La funzione predefinita “split” suddivide una stringa in corrispondenza dei caratteri di spaziatura (incluso il newline) e restituisce una lista contenente le corrispondenti sottostringhe, nelle quali non vendono inclusi i caratteri di spaziatura: Se si desidera suddividere una stringa in corrispondenza di una sequenza di uno o più caratteri qualsiasi, tale sequenza dovrà essere indicata (sotto forma di stringa) come argomento di split: Nota: i caratteri di separazione non vengono inclusi nel risultato. Tuple: Le tuple sono collezioni di dati ordinate (quindi indicizzate) ma immutabili; inoltre permettono duplicati. Quindi, differentemente, dalle liste queste non possono essere modificate. Gli elementi che compongono una tupla sono contenuti all’interno di parentesi tonde, e possono essere elementi di tipo diverso. Tramite l’istruzione “type”, come abbiamo già detto viene riportato il tipo di collezione, in questo caso una tuple: Nota: una tupla per esistere deve presentare più di un elemento, sennò diventerebbe una semplice assegnazione ad una variabile. In particolar modo, è necessaria la presenza di una virgola! Allo stesso modo, con l’istruzione ”len” viene riportata la lunghezza (quantità di elementi) della tupla, in questo caso 3: Infine, tramite l’istruzione “tuple” è possibile creare una tupla, per cui verrà stampato (‘Milano’, True, 8). Per accedere agli elementi si userà lo stesso metodo delle stringhe, per cui volendo stampare il primo elemento dovremmo fare come segue: Stessa cosa per i range, per cui volendo stampare solo un determinato numero di elementi di una tupla, ad esempio i primi due dovremmo fare come segue: Nota: l’estremo finale non è mai incluso! Se volessimo verificare che un elemento sia presente all’interno di una tupla dovremmo fare come segue invece:
Aggiungere elementi
Rimuovere elementi
Dict annidati È possibile anche avere dei dict all’interno di altri dict (dict annidati) un esempio è il seguente: Per cui ciò che verrà mandato a schermo sarà {‘Nome’ : ‘Gianraffaele’, ‘Cognome’ : ‘Rossi’, ‘Età’ : 25, ‘Indirizzo’ : {‘Città’ : ‘Cagliari’, ‘CAP’ : ‘09121’, ‘Civico’ : 5}}. Altro esempio:
Le funzioni disponibili in un linguaggio di programmazione sono dette predefinite e l’insieme di tali funzioni viene detto libreria. Tutti i linguaggi di programmazione consentono inoltre ai programmatori di definire nuove funzioni. In questo corso si utilizzeranno due librerie: