Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Informatica luiss python, Appunti di Elementi di Informatica

Informatica luiss python appunti lezionedi esercitazione

Tipologia: Appunti

2019/2020

In vendita dal 17/03/2022

aleapp_unti
aleapp_unti 🇮🇹

4.5

(26)

40 documenti

1 / 25

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Problem solving: capacità di analizzare problemi, pensare in modo creativo per risolverli ed elaborarne in
modo chiaro una soluzione, che non è sempre unica. A partire dalla specifica
dei requisiti e dal risultato da raggiungere (cosa) si individua l’algoritmo (come) cioè il procedimento con cui
si ottiene una soluzione del problema. In generale non esiste una sola soluzione ad un certo problema.
Algoritmo: descrizione di come si risolve un problema attraverso una sequenza di passi/istruzioni che
portano alla soluzione. Procedere scomponendo il problema in sottoproblemi scomponibili in
sottoproblemi per arrivare a problemi elementari che possono cioè essere risolti direttamente
dall’esecutore. Un algoritmo deve essere corretto ed efficiente.
Esempio
Problema: calcola il massimo tra i valori A e B
Soluzione: il massimo è più grande tra A e B
Algoritmo: se A>B allora max=A; stop. Altrimenti max=B stop
Programmazione: è un'attività creativa che permette di rendere comprensibile ad un calcolatore l'algoritmo
individuato. Si sceglie un insieme significativo di dati per testare il programma. È necessario produrre la
documentazione a beneficio di chi userà ed eventualmente modificherà il programma.
Programma: è la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. I
programmi sono parametrici:
Producono un risultato che dipende da un insieme di dati di partenza, gli input
Descrivono la soluzione non di un singolo problema, ma di una intera classe di problemi
strutturalmente equivalenti
Le istruzioni fanno riferimento a variabili, il cui valore non è fissato a priori ma cambia a seconda della
situazione elaborativa in cui l’esecutore si trova.
Linguaggi di programmazione: nella nostra società sono ad alto livello che viene poi tradotto nel linguaggio
macchina, linguaggio compreso da un calcolatore, attraverso opportuni strumenti chiamati compilatori o
interpreti. Ogni linguaggio di programmazione dispone di un insieme di istruzioni ed è caratterizzato da:
una sintassi, cioè l’insieme delle regole che specificano come comporre istruzioni ben formate
una semantica che specifica il significato di ogni istruzione ben formata
Python: è un linguaggio di programmazione orientato ad oggetti e utilizzato in vari ambiti. Programmare in
Python è più semplice e veloce di altri programmi. La sintassi di Python permette di esprimere concetti in
poche linee di codice e produrre programmi più facilmente leggibili e meno propensi ad errori.
Paragonando tra i programmi la velocità di esecuzione Python è peggiore ma le performance sono allineate
o superiori. Ci sono versioni di supporto che sono Python 2 e Python 3.
Tipologie di errori:
Syntax error: qualora il programma non è sintatticamente corretto esso non viene eseguito e viene
visualizzato un messaggio di errore
Runtime error: errori che si manifestano solamente quando viene eseguito il programma (chiamati
anche exceptions)
Semantic error: il programma viene eseguito correttamente (non vengono visualizzati errori) ma il
risultato prodotto non risulta corretto; identificare gli errori semantici può essere molto difficile
Debudding: è una delle attività della programmazione che perette di individuare l'errore nel codice e
correggerlo. Può sembrare frustante ma è stimolante e consente di individuare l'errore, identificarne la
causa sulla base del risultato prodotto, correggere il programma e riprovare.
Commenti: sono un’utile strumento per inserire in linguaggio naturale delle note nel codice.
Inserire commenti è una buona prassi per migliorare la leggibilità del codice a beneficio proprio o altrui
(utilizzatori o altri sviluppatori). I commenti vengono ignorati, cioè non vengono interpretati, da Python.
I commenti iniziano con il simbolo del cancelletto # e terminano alla fine della riga.
Si può inserire un commento all’inizio di una riga o al termine di una riga di codice (preceduto da uno
spazio). Tutto il testo della riga che segue il simbolo del cancelletto # viene ignorato e non ha effetti sul
programma. Il carattere # all’interno di una stringa (sequenza di caratteri) non identifica un commento
bensì il simbolo cancelletto.
Siccome tutto il testo che segue il simbolo di cancelletto # viene ignorato, gli sviluppatori alcune volte
inseriscono un # all’inizio di una riga di codice. In questo modo l’istruzione viene “commentata” e
temporaneamente ignorata durante l’esecuzione del programma; ciò è utile in fase di debudding o mentre
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Anteprima parziale del testo

Scarica Informatica luiss python e più Appunti in PDF di Elementi di Informatica solo su Docsity!

Problem solving: capacità di analizzare problemi, pensare in modo creativo per risolverli ed elaborarne in modo chiaro una soluzione, che non è sempre unica. A partire dalla specifica dei requisiti e dal risultato da raggiungere (cosa) si individua l’algoritmo (come) cioè il procedimento con cui si ottiene una soluzione del problema. In generale non esiste una sola soluzione ad un certo problema. Algoritmo: descrizione di come si risolve un problema attraverso una sequenza di passi/istruzioni che portano alla soluzione. Procedere scomponendo il problema in sottoproblemi scomponibili in sottoproblemi per arrivare a problemi elementari che possono cioè essere risolti direttamente dall’esecutore. Un algoritmo deve essere corretto ed efficiente. Esempio Problema: calcola il massimo tra i valori A e B Soluzione: il massimo è più grande tra A e B Algoritmo: se A>B allora max=A; stop. Altrimenti max=B stop Programmazione: è un'attività creativa che permette di rendere comprensibile ad un calcolatore l'algoritmo individuato. Si sceglie un insieme significativo di dati per testare il programma. È necessario produrre la documentazione a beneficio di chi userà ed eventualmente modificherà il programma. Programma: è la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. I programmi sono parametrici:

  • Producono un risultato che dipende da un insieme di dati di partenza, gli input
  • Descrivono la soluzione non di un singolo problema, ma di una intera classe di problemi strutturalmente equivalenti Le istruzioni fanno riferimento a variabili, il cui valore non è fissato a priori ma cambia a seconda della situazione elaborativa in cui l’esecutore si trova. Linguaggi di programmazione: nella nostra società sono ad alto livello che viene poi tradotto nel linguaggio macchina, linguaggio compreso da un calcolatore, attraverso opportuni strumenti chiamati compilatori o interpreti. Ogni linguaggio di programmazione dispone di un insieme di istruzioni ed è caratterizzato da:
  • una sintassi, cioè l’insieme delle regole che specificano come comporre istruzioni ben formate
  • una semantica che specifica il significato di ogni istruzione ben formata Python: è un linguaggio di programmazione orientato ad oggetti e utilizzato in vari ambiti. Programmare in Python è più semplice e veloce di altri programmi. La sintassi di Python permette di esprimere concetti in poche linee di codice e produrre programmi più facilmente leggibili e meno propensi ad errori. Paragonando tra i programmi la velocità di esecuzione Python è peggiore ma le performance sono allineate o superiori. Ci sono versioni di supporto che sono Python 2 e Python 3. Tipologie di errori:
  • Syntax error: qualora il programma non è sintatticamente corretto esso non viene eseguito e viene visualizzato un messaggio di errore
  • Runtime error: errori che si manifestano solamente quando viene eseguito il programma (chiamati anche exceptions)
  • Semantic error: il programma viene eseguito correttamente (non vengono visualizzati errori) ma il risultato prodotto non risulta corretto; identificare gli errori semantici può essere molto difficile Debudding: è una delle attività della programmazione che perette di individuare l'errore nel codice e correggerlo. Può sembrare frustante ma è stimolante e consente di individuare l'errore, identificarne la causa sulla base del risultato prodotto, correggere il programma e riprovare. Commenti: sono un’utile strumento per inserire in linguaggio naturale delle note nel codice. Inserire commenti è una buona prassi per migliorare la leggibilità del codice a beneficio proprio o altrui (utilizzatori o altri sviluppatori). I commenti vengono ignorati, cioè non vengono interpretati, da Python. I commenti iniziano con il simbolo del cancelletto # e terminano alla fine della riga. Si può inserire un commento all’inizio di una riga o al termine di una riga di codice (preceduto da uno spazio). Tutto il testo della riga che segue il simbolo del cancelletto # viene ignorato e non ha effetti sul programma. Il carattere # all’interno di una stringa (sequenza di caratteri) non identifica un commento bensì il simbolo cancelletto. Siccome tutto il testo che segue il simbolo di cancelletto # viene ignorato, gli sviluppatori alcune volte inseriscono un # all’inizio di una riga di codice. In questo modo l’istruzione viene “commentata” e temporaneamente ignorata durante l’esecuzione del programma; ciò è utile in fase di debudding o mentre

si esegue il test di un programma. Togliendo il cancellato in testa alla riga, l’istruzione verrà nuovamente eseguita. Sulla sinistra: #primocommento print("ciao") #secondocommeto #terzocommento testo="# sono un cancelletto non sono un commento" print (testo) print(3+2) #è la somma Sulla destra: ciao

sono un cancelletto non sono un commento

5 Funzioni: è un piccolo programma che può essere riutilizzato per svolgere un particolare compito. In Python ci sono molte funzioni pronte e disponibili dette built-in funcions. Le funzioni possono prevedere uno o più argomenti sui quali viene eseguita la funzione, specificati dopo il nome della funzione all’interno di parentesi tonde e separati da virgole. Nome funzione (variabile 1, variabile2) Modalità interattiva: è possibile provare singole porzioni di codice senza inserirle in uno script in modalità interattiva. Le istruzioni sono immediatamente eseguite e ne viene mostrato il risultato senza dover utilizzare la funzione print. Si utilizza >>> per indicare il terminale della modalità interattiva I tre simboli mi fanno la modalità interattiva, mettendosi sulla destra (su repl.it non serve scrivere >>>) >>> 2 + 3 operazione che eseguo 5 soluzione Parte sinistra: programmatore ci scrive Parte destra: ci lavora l'utente Print: è a principale istruzione di output che permette di mostrare sullo schermo il valore di una o più espressioni, si ha mettendo tra parentesi tonde due numeri separati da virgola e spazio. Gli apici singoli o le virgolette racchiudono una stringa, servono a specificare l’inizio e la fine della stringa, e non vengono visualizzate sullo schermo. Sulla sinistra: #stampa due numeri, 3 e 5 print (3, 5) Sulla destra: >>>3 5 Sulla sinistra: print("ciao" , 5) Sulla destra: >>> ciao 5 Si possono fare anche delle operazioni Sulla sinistra: print("ciao" , 3*5) Sulla destra: >>> ciao 15 Esercizio: Tradizionalmente il primo programma che viene scritto in un nuovo linguaggio di programmazione è Hello World! E tutto ciò fa mostrare le parole World! Sulla sinistra: print("Hello World!") Sulla destra: >>> Hello World! Compiti: obbligatori

  • moltiplicazione >>>3* 21 / divisione >>>15/ 3 // divisione troncata >>>17// 5 % modulo ** Potenza >>>2** 256 Ordine operazioni: l'ordine con cui vengono svolte le operazioni aritmetiche è:
  1. Elevamenti a potenza
  2. Moltiplicazioni e divisioni
  3. Addizioni e sottrazioni Si possono utilizzare le parentesi tonte (anche annidate) per modificare la precedenza delle operazioni. Esempi: >>> 63/ 9 >>> 6/2 9 >>> 5+2* 11 >>> (5+2)* 21 Esercizio: scrivere un programma che sommi due numeri a vostra scelta e mostri il risultato sullo schermo. Sulla sinistra: print(24+6) Sulla destra: 30 Esercizio: scrivere un programma che divida due numeri a vostra scelta e mostri il risultato sullo schermo. Sulla sinistra: print(24/6) Sulla destra:

Variabili: una variabile è un nome a cui possiamo associare un valore. Servono per memorizzare valori e poterli riutilizzare. Il nome di una variabile può comprendere lettere, cifre e il carattere underscore _, ma non deve iniziare con una cifra e non può contenere spazi. Solitamente si assegnano alle variabili dei nomi esplicativi e di solito la prima lettera è minuscola. Una variabile è creata nel momento in cui gli è assegnato un valore. Assegnamento: l’operazione di assegnamento che imposta il valore ad una variabile è un costrutto della forma: nome_variabile = espressione o valore Le variabili sono chiamate così perché il valore assegnato può essere cambiato. L'assegnamento valuta l'espressione a destra del = e poi assegna il risultato alla variabile a sinistra del =. La stessa variabile può quindi comparire sia a sinistra sia a destra del =. Sulla sinistra: testo="Ciao" Print(testo) Sulla destra: Ciao Esercizio: scrivere un programma che esegua il prodotto di due numeri a vostra scelta e mostri il risultato sullo schermo utilizzando 3 variabili (due per i moltiplicandi ed una per il risultato prodotto.

Sulla sinistra: numero1= numero2= risultato=numero1numero print(risultato) Sulla destra: 198 Output Esercizio: scrivere un programma che memorizzi nella variabile di nome area l’area di un cerchio di raggio 10 e poi ne stampi il valore: Sulla sinistra: pigreco = 3. raggio = 10 area = pigreco(raggio2) print(area) Sulla destra: 314.0 Output Esercizio: scrivere un programma che calcoli la superficie totale di un cilindro di raggio 10 e altezza 5: Sulla sinistra: pigreco = 3. raggio = 10 altezza = 5 superficie_base = pigrecoraggio* superficie_laterale = 2pigrecoraggioaltezza superficie_totale = 2superficie_base + superficie_laterale print(superficie_totale) Sulla destra: 942.0 Output Stringhe: il testo si rappresenta come una sequenza di caratteri che è chiamata stringa, tipo dato str. La sequenza di caratteri deve essere racchiusa tra apici singoli ' ' o tra doppi apici " ". >>> saluto = "ciao" Si può indicare una stringa vuota non includendo nulla tra gli apici. >>> stringa_vuota = "" Si può accedere a porzioni di una stringa:

  • Usando l'indice della posizione tra quadre, [i] (indici negativi per contare dalla fine)
  • Due indici separati da : per lo slicing, cioè prendere i caratteri da i (compreso) a j (escluso) [i:j] La lunghezza di una stringa è fornita dalla funzione len(). Esempi: +---+---+---+---+---+---+ | P | y | t | h | o | n | +---+---+---+---+---+---+ 0 1 2 3 4 5
  • 6 - 5 - 4 - 3 - 2 - 1 Sulla sinistra: testo="python" print(len(testo)) print(testo[4]) print(testo[1:4]) print(testo[:3]) print(testo[3:]) Sulla destra: 6 (numero lettere "python") n (non da o perché parte da 0) yth (il primo è incluso e l'ultimo è escluso)

print (x*2) Domanda: cosa succede se l’utente inserisce 2

  • 22 # se l'utente inserisce 2 Domanda: cosa succede se l’utente inserisce 2**
  • 2323 # se l'utente inserisce 2** Domanda: cosa succede se l’utente inserisce 'ciao'
  • 'ciao''ciao' # se l'utente inserisce 'ciao' Esempio: dato il seguente programma:

salva in x il valore inserito dall'utente

x = eval(input("Inserisci una espressione:")) print (x*2) Domanda: cosa succede se l’utente inserisce 2

  • 4 # se l'utente inserisce 2 Domanda: cosa succede se l’utente inserisce 2**
  • 16 # se l'utente inserisce 2** Domanda: cosa succede se l’utente inserisce 'ciao'
  • ciaociao # se l'utente inserisce 'ciao' Esercizio: scrivere un programma che sommi due numeri letti in input e mostri il risultato sullo schermo. Sulla sinistra: x=eval(input("inserisci numero:")) y=eval(input("inserisci numero:")) print(x+y) Sulla destra: 5 #se si mettono i valori 2 e 3 Esercizio: scrivere un programma che moltiplichi due numeri letti in input e mostri il risultato sullo schermo. Sulla sinistra: x=eval(input("inserisci numero:")) y=eval(input("inserisci numero:")) prodotto=x*y print(prodotto) Sulla destra: 6 #se si mettono i valori 2 e 3 Esercizio: scrivere un programma che visualizzi l'ultima lettera di una stringa letta in input. Sulla sinistra: testo=input("inserisci testo:") print(testo[-1]) Sulla destra: #con ciao o Esercizio: scrivere un programma che visualizzi la lunghezza di una stringa letta in input. Sulla sinistra: testo=input("inserisci testo:") print(len(testo)) Sulla destra: #con ciao 4 Compiti: obbligatori Scrivere un programma che legga da input un numero intero che rappresenta una temperatura in gradi Celsius e restituisca il valore convertito in gradi Fahrenheit. La formula per calcolare i gradi Fahrenheit partendo dai gradi Celsius è la seguente: F = (C * 9/5) + 32. NOTA: utilizzare la funzione input() senza specificare come argomento nessuna stringa! Anziché inserire "input('inserisci un numero:')" utilizzare "input()".

SUGGERIMENTO: la prima istruzione dovrà contenere: eval(input()). Input è un numero intero, 10.0, e l'output è il valore delle temperatura in gradi Fahrenheit, 50.0. Sulla sinistra: C=eval(input()) F=(C*(9/5))+ print(F) Sulla destra: #con 10.

Scrivere un programma che legga da input un testo e restituisca la prima e l'ultima lettera del testo. NOTA: utilizzare la funzione input() senza specificare come argomento nessuna stringa! Anziché inserire "input('inserisci un numero:')" utilizzare "input()". SUGGERIMENTO: la prima istruzione dovrà contenere: input(). Input è un testo, ciao, l'output è la prima e l'ultima lettera del testo letto in input, c o. Sulla sinistra: testo=input() print(testo[0], testo[-1]) Sulla destra: c o Compiti: facoltativi Scrivere un programma che legga da input due numeri interi e restituisca il quoziente (intero) ed il resto (intero) della loro divisione. NOTA: utilizzare la funzione input() senza specificare come argomento nessuna stringa! Anziché inserire "input('inserisci un numero:')" utilizzare "input()". Input sono due numeri interi, 6 e 4, l'output è il quoziente ed il resto della divisione dei due numeri letti in input, 1 2. Sulla sinistra: x=eval(input()) y=eval(input()) print(x//y) print(x%y) Sulla destra: 1 2 Scrivere un programma che legga da input un testo ed un numero intero e restituisca la lettera a quella data posizione nel testo. NOTA: utilizzare la funzione input() senza specificare come argomento nessuna stringa! Anziché inserire "input('inserisci un numero:')" utilizzare "input()". Input è un testo ed un numero intero, ciao e 2, l'output è la lettera in quella data posizione del testo letto in input, a. Sulla sinistra: x=input() y=eval(input()) print(x[y]) Sulla destra: a Tipi di dato: è possibile conoscere il tipo di dato di una valore o di una variabile utilizzando la funzione: type(valore o variabile) Esempi: mia_variabile = 1 print (type(mia_variabile)) → int

[9, 16, 25]

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

False True Differentemente dalle stringhe, le liste sono un tipo mutabile, cioè è possibile modificare il contenuto della lista specificando l’indice o lo slice degli elementi da cambiare. Esempio: Sulla sinistra: stringa = 'ciao' Print(stringa[0]) = 'C' # errore Sulla destra: TypeError: 'str' object does not support item assignment Sulla sinistra: cubi = [1, 8, 27, 65, 125] print(4 ** 3) # il cubo di 4 è 64 cubi[3] = 4 ** 3 print(cubi) Sulla destra: 64 [1,8,27,64,125] Esempio: Sulla sinistra: lettere = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] print(lettere) lettere[2:5] = ['C', 'D', 'E'] # cambio 3 valori print(lettere) lettere[2:5] = [] # rimozione 3 elementi print(lettere) lettere[:] = [] # cancellazione della lista print(lettere) Sulla destra: ['a', 'b', 'c', 'd', 'e', 'f', 'g'] ['a', 'b', 'C', 'D', 'E', 'f', 'g'] ['a', 'b', 'f', 'g'] [] Le liste prevedono altri metodi:

  • append: inserisce un nuovo elemento alla fine della lista
  • insert: inserisce un nuovo elemento ad una data posizione
  • index: restituisce la posizione in cui compare un dato elemento
  • pop: rimuove l’ultimo elemento della lista o quello alla posizione specificata
  • remove: rimuove un dato elemento dalla lista
  • reverse: restituisce gli elementi in ordine opposto
  • sort: restituisce gli elementi in ordine sequenziale Nota: è anche possibile utilizzare la funzione del per cancellare uno o più elementi o l’intera lista. Esempio: Sulla sinistra: lista = [0, 2, 4, 6, 8] print(len(lista)) lista.append(9) print(lista) print(len(lista))

var= lista.pop() print("v:", var) print("lista", lista) var= lista.pop(0) print("primo elemento:", var) print("lista", lista) lista.insert(3,10) print(lista) lista.remove(2) print(lista) lista.index(4) print(lista) lista.reverse() print(lista) lista.sort() print(lista) Sulla destra: 5 [0, 2, 4, 6, 8, 9] 6 v: 9 lista [0, 2, 4, 6, 8] primo elemento: 0 lista [2, 4, 6, 8] [2, 4, 6, 10, 8] [4, 6, 10, 8] [4, 6, 10, 8] [8, 10, 6, 4] [4, 6, 8, 10] Range: la funzione range consente di creare una lista composta da dei numeri interi consecutivi. La funzione range prevede due argomenti e restituisce una lista che contiene tutti gli interi a partire dal primo (incluso) fino al secondo (escluso). Se il primo argomento non viene specificato la lista partirà dal numero 0. La funzione range è molto utilizzata nei cicli. Esempi: Sulla sinistra: print(list(range(1,5))) print(list(range(5,1))) print(list(range(10))) print(list(range(-27,-20))) Sulla destra: [1, 2, 3, 4] [] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [-27, - 26, - 25, - 24, - 23, - 22, - 21] Esercizio: scrivere un programma che legga da input una lista e stampi il primo, l’ultimo ed il penultimo elemento della lista. Sulla sinistra: mia_lista = eval(input("Inserisci una lista:")) print(mia_lista[0], mia_lista[-1], mia_lista[-2]) Sulla destra: #con [1, 2, 3, 6, 8, 9] 198

elemento= lista.pop(x) print(lista) Sulla destra:

[0, 3, 1] Sostituire il valore di una lista ad una data posizione. NOTA: utilizzare la funzione input() senza specificare come argomento nessuna stringa! Esempio: anziché inserire "input('inserisci un numero:')" utilizzare "input()" Ugualmente per la funzione print(), stampare solo il valore richiesto senza altro testo. Sulla sinistra: lista=eval(input()) x=eval(input()) y=eval(input()) posizione_valore= lista.pop(x), lista.insert(x,y) print(lista) Sulla destra:

[1, 2, 9, 4, 5]

ISTRUZIONI PYTHON:

commento: permette di scrivere qualcosa che si ignora sulla destra Sulla sinistra: #commento Sulla destra: #ignora tutta la riga print: permette di mostrare sullo schermo il valore di una o più espressioni Sulla sinistra: print("nome cognome") print("nome", "cognome") print( 3 * 2 ) print("32") Sulla destra: nome cognome nome cognome 6 3 Simbolo Operazione Esempi

  • addizione >>>15+ 18
  • sottrazione >>>10- 25
    • 15
  • moltiplicazione >>>3* 21 / divisione >>>15/ 3 // divisione troncata >>>17// 5 % modulo ** Potenza >>>2** 256 Ordine operazioni:
  1. Elevamenti a potenza
  2. Moltiplicazioni e divisioni
  3. Addizioni e sottrazioni int: sono numeri interi float: sono numeri decimali in virgola mobile str: stringa, sequenza di caratteri, deve avere gli apici "" Operatori relazionali: Simbolo Operazione < minore di > maggiore di <= minore o uguale di >= maggiore o uguale di == uguale a != diverso da

Operatore di appartenenza: l'operatore in permette di testare l'appartenenza d i un valore ad una “sequenza” (termine volutamente generico), cioè cercare un valore all’interno di una sequenza. Si può usare not in se si vuole testare la non appartenenza, x not in seq è equivalente a not x in seq. Nelle stringhe si può usare in sia per singoli caratteri sia per sottostringhe. Sulla sinistra: nozze = 'pizza e fichi' print('a' in nozze) print('A' in nozze) print(' ' in nozze) print('fichi' in nozze) print('ostriche' not in nozze) Sulla destra: True False True True True input(): permette di memorizzarlo all’interno di una variabile l’input inserito dall'utente e restituisce una stringa Sulla sinistra: x=input("inserisci numero:") y=input("inserisci numero:") print(x+y) x = input("Inserisci un valore:") print (x* 2 ) Sulla destra: inserisci numero: 2 inserisci numero: 3 23 Inserisci un valore: ciao ciaociao eval(input(): è possibile valutare quanto inserito come un'espressione Python (l'espressione deve essere corretta, altrimenti viene restituito un errore) Sulla sinistra: x=eval(input("inserisci numero:")) y=eval(input("inserisci numero:")) print(x+y) x = eval(input("Inserisci una espressione:")) print (x* 2 ) Sulla destra: inserisci numero: inserisci numero: 5 Inserisci una espressione: 'ciao' ciaociao lista: contiene un elenco di valori (gli elementi della lista) separati dalla virgola e racchiusi tra parentesi quadre. Operazioni tra liste:

  • : separando due indici si può accedere a porzioni della lista nello stesso modo delle stringhe
  • len() permette di stampare il numero di elementi
  • in per testare l'appartenenza ad una lista Sulla sinistra: quadrati = [ 1 , 4 , 9 , 16 , 25 ] print(quadrati[- 1 ])

print(quadrati[- 3 :]) len(quadrati) print(quadrati + [ 36 , 49 , 64 , 81 , 100 ]) print( 5 in quadrati) Sulla destra: 25 [9, 16, 25] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] False Metodi: ➢ .append: inserisce un nuovo elemento alla fine della lista ➢ (^) .insert: inserisce un nuovo elemento ad una data posizione ➢ .index: restituisce la posizione in cui compare un dato elemento ➢ .pop: rimuove l’ultimo elemento della lista o quello alla posizione specificata ➢ (^) .remove: rimuove un dato elemento dalla lista ➢ .reverse: restituisce gli elementi in ordine opposto ➢ (^) .sort: restituisce gli elementi in ordine sequenziale Nota: è anche possibile utilizzare la funzione del per cancellare uno o più elementi o l’intera lista. Sulla sinistra: lista = [ 0 , 2 , 4 , 6 , 8 ] print(len(lista)) lista.append( 9 ) print(lista) print(len(lista)) var= lista.pop() print("v:", var) print("lista", lista) var= lista.pop( 0 ) print("primo elemento:", var) print("lista", lista) lista.insert( 3 , 10 ) print(lista) lista.remove( 2 ) print(lista) lista.index( 4 ) print(lista) lista.reverse() print(lista) lista.sort() print(lista) Sulla destra: 5 [0, 2, 4, 6, 8, 9] 6 v: 9 lista [0, 2, 4, 6, 8] primo elemento: 0 lista [2, 4, 6, 8] [2, 4, 6, 10, 8] [4, 6, 10, 8] [4, 6, 10, 8] [8, 10, 6, 4] [4, 6, 8, 10]

if condizione1: ||||istruzioni elif condizione2: ||||istruzioni elif condizione3: ||||istruzioni else: ||||istruzioni Sulla sinistra: a= 3 b= 4 c= 5 if a>b: ||||print(False) elif bbb: ||||print(False) elif b>a: ||||print(True) elif a>b

||||print ('valore di num:', num) print ("Finito!") for (i) in range( 20 ): ||||if (i% 3 ) == 0 : ||||||||print(i) ||||||||if (i% 5 ) == 0 : ||||||||||||print ("Bingo!") ||||print ("---") Sulla destra: 1 8 27 64 125 valore di num: 0 valore di num: 1 valore di num: 2 valore di num: 3 valore di num: 4 valore di num: 5 valore di num: 6 valore di num: 7 valore di num: 8 valore di num: 9 Finito! 0 Bingo!

3

6

9

12

15 Bingo!

18