Anteprima
Vedrai una selezione di 3 pagine su 8
Informatica - Python Pag. 1 Informatica - Python Pag. 2
Anteprima di 3 pagg. su 8.
Scarica il documento per vederlo tutto.
Informatica - Python Pag. 6
1 su 8
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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 = ""

Possiamo accedere a porzioni di una stringa:

• Usando l'indice della posizione tra quadre: [i] (indici negativi per contare dalla fine, partendo da 0

se si conta dall’inizio)

• 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().

È possibile svolgere le seguenti operazioni tra stringhe:

• Concatenazione: + oppure ()

• Ripetizione: *

+ e * sono operatori overloaded; eseguono cioè operazioni differenti a seconda del tipo degli

operandi.

Tipo di dato

È possibile conoscere il tipo di dato di un valore o di una variabile utilizzando la funzione:

type(valore o variabile)

Ad ogni tipo di dato corrisponde una funzione (con lo stesso nome del tipo) che (se possibile)

“forza” un dato ad essere di quel tipo.

Possiamo "forzare" un numero a stringa usando str(). Possiamo "forzare" una stringa a numero con

int() o float() (se quella stringa è un numero!).

Operatori Booleani

Le variabili che rappresentano valori Booleani sono di tipo bool.

Un bool ha solamente due valori:

• True (vero)

• False (falso)

Esistono 3 operatori per i bool (in ordine di precedenza):

• not: operatore unario, not x è True se e solo se x è False

• and: binario, x and y è True se e solo se x = y = True

• or: binario, x or y è False se e solo se x = y = False

Operatori relazionali

Anche le stringhe possono essere confrontate: cifre < maiuscole < minuscole

Operatori di appartenenza

L'operatore in permette di testare l'appartenenza di 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.

Input

Esistono più funzioni per ottenere l’input inserito dall'utente e memorizzarlo all’interno di una

variabile:

- input() che memorizza, senza valutarlo, quanto inserito dall’utente in una variabile Python.

- eval(input()) che valuta quanto inserito dall’utente e lo memorizza in una variabile Python (lo

vedremo più avanti).

If, elif, else

Il costrutto if permette di prendere decisioni, secondo la seguente sintassi:

if condizione:

istruzioni

Le istruzioni, indentate di 4 spazi, sono eseguite solo se il valore della condizione è True. (scivendo

i ":” dopo l’if (et simili) in python viene indentato da solo, però occhio)

else permette di definire le istruzioni da eseguire se la condizione dell'if è False (o le

condizioni dell’if e degli elif sono False).

Sintassi:

if condizione:

istruzioni1

else: istruzioni2

elif permette di esprimere un numero arbitrario di condizioni alternative.

Sintassi:

if condizione1:

istruzioni1

elif condizione2:

istruzioni2

elif condizione3:

istruzioni3

else: istruzioni4

Liste

Una lista contiene un elenco di valori (gli elementi della lista) separati dalla virgola e racchiusi tra

parentesi quadre. Le liste possono contenere elementi di diversi tipi, ma di solito gli elementi hanno

tutti lo stesso tipo. Sono mutabili (a differenza delle stringhe)

Per leggere una lista passata in input si usa: lista = eval(input())

E da input si specificano gli elementi della lista separati dalla virgola e racchiusi tra parentesi

quadre: [1, 3, 5, 7, 9]

È possibile accedere a porzioni della lista nello stesso modo delle stringhe (tramite l’indice

dell’elemento o tramite lo slicing con due indici separati da :).

La lunghezza di una lista, cioè il numero dei suoi elementi, è fornita dalla funzione len().

Le liste supportano anche la concatenazione. È possibile testare l'appartenenza di un elemento alla

lista tramite l’operatore in.

È possibile annidare le liste (creare liste contenenti altre liste)

>>> lettere = ['a', 'b', 'c']

>>> numeri = [1, 2, 3]

>>> lista = [lettere, numeri]

>>> lista

[['a', 'b', 'c'], [1, 2, 3]]

Le liste prevedono altri metodi:

• append(x): inserisce un nuovo elemento x alla fine della lista

• insert(i, x): inserisce ad una data posizione i un nuovo elemento x

• index(x): restituisce la posizione in cui compare un dato elemento x

• pop(i): rimuove l’ultimo elemento della lista o quello alla posizione i specificata

• remove(x): rimuove un dato elemento x 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.

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.

Cicli For e While

L’iterazione (o ciclo o loop) è una struttura di controllo che permette di eseguire

ripetutamente una sequenza di istruzioni fino al determinarsi di particolari

condizioni:

- for: itera un certo numero di volte in base agli elementi di una lista

es: Data una lista di numeri interi, trova il numero maggiore e il minore. Se la lista è vuota il risultato deve

essere 0 per entrambi.

lista = eval(input("Inserisci una lista: "))

max=lista[0]

min=lista[0]

for x in lista:

if x>max:

max = x

if x<min:

min = x

print("Il minimo è", min, "il massimo è", max)

- while: itera finché una certa condizione è vera

es: Scrivere un programma che stampi il numero di cifre decimali di un numero intero positivo specificato in

input

numero = int(input())

count = 0

while numero>=1:

numero = numero / 10

count = count + 1

print(count)

Funzioni

Una funzione è un blocco organizzato di codice che viene utilizzato per eseguire un preciso task

(una sorta di mini-programma).

L’utilizzo di funzioni garantisce maggiore modularità al codice ed un maggior riuso dello stesso.

Python dispone di funzioni built-in, come: print(), input(), len(), range(), … ma è anche possibile

definire nuove funzioni (user-defined-functions).

Sintassi: def nomefunzione (parametro1, …): # definizione

blocco istruzioni # corpo istruzioni

Esempio: Scrivere una funzione "saluta" che prenda come parametro una stringa rappresentante un nome e

visualizzi sullo schermo la scritta: "Ciao" ed il nome passato alla funzione

def saluta(nome): # Definizione

print ("Ciao", nome) # Corpo funzione

saluta(‘Valerio’) # Chiamata della funzione

Il codice della funzione viene eseguito ogni volta che la funzione viene richiamata (e non al

momento della definizione della funzione). Quando il programma richiama la funzione vengono

eseguite le istruzioni della funzione e, una volta terminate, l’esecuzione torna al programma

principale che continua con il resto delle istruzioni. La funzione interagisce con il resto del

programma unicamente attraverso i suoi parametri (input alla funzione) ed il valore di ritorno

(output della funzione).

È possibile passare ad una funzione dei valori tramite degli argomenti che vengono specificati tra le

parentesi tonde dopo il nome della funzione. Un parametro è la variabile al cui interno viene

memorizzato il valore dell’argomento passato alla funzione. Il valore memorizzato in un parametro

viene "dimenticato" quando la funzione finisce la sua esecuzione.

La keyword return permette di specificare dei valori o un’espressione di ritorno (return value) di

una funzione al programma chiamante. Quando, durante l’esecuzione della funzione, viene

incontrata l’istruzione return, la funzione termina ed il valore di ritorno è quello della variabile o

dell’espressione che segue la keyword return.

In Python è possibile specificare più parametri di ritorno; questo è particolarmente utile nel caso di

tipi immutabili.

Due possibilità per terminare una funzione:

return #procedura

return espressione/valore #funzione

Es: Data una lista di numeri interi come parametro, trova il numero maggiore e il minore. Se la lista è vuota il

risultato deve essere 0 per entrambi.

def min_max(lista):

if len(lista) = = 0:

max = 0

min = 0

else: max = lista[0]

min = lista[0]

for x in lista:

if x > max:

max = x

if x < min:

min = x

print("Il minimo è", min, " e il massimo è", max)

Sequenze

Le sequenze (sequences) sono quei tipi di dato che permettono l’iterazione sui suoi elementi. I

seguenti tipi di dato sono delle sequenze:

- str: "stringa testuale"

- list: [1, 2, 3] ["abc", "def", "ghi"]

- tuple: (1, 2, 3) ("abc", "def", "ghi")

Tutte le sequenze supportano, accesso agli elementi con l’indice e lo slicing, l’iterazione dei loro

elementi nei cicli for, la funzione len(), gli operatori in e not in.

Tuple e Dizionari

Una tupla (tipo tuple) è una sequenza immutabile (una versione immutabile delle liste).

L'immutabilità delle tuple significa che né gli elementi né la lunghezza possono essere cambiati.

È utile per “impacchettare” una sequenza di valori di lunghezza fissata e i cui elementi non devono

essere modificati.

Può essere creata elencando i valori separati da virgole, solitamente tra parentesi () (le parentesi

sono opzionali). Una tupla di lunghezza 1 si indica con (valore,) (notare la virgola!).

Le tuple, essendo sequenze, condividono molte delle operazioni delle liste:

• Accesso agli elementi con indice o slicing

• Lunghezza tramite len()

• Concatenazione con + e ripetizione con *

• Iterazione con for

• Gli operatori in e not in

>>> tupla_vuota = ()

>>> tupla1 = (3,)

>>> tupla2 = (4,1)

>>> tupla3 = (4,5,1)

>>> list(tupla3)

[4, 5, 1]

>>> tupla3[0]

4

&g

Dettagli
Publisher
A.A. 2024-2025
8 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher andreafontana di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Libera Università internazionale degli studi sociali Guido Carli - (LUISS) di Roma o del prof Laura Luigi.