Scarica Operazioni su Valori di Python: Tipi e Operazioni su Numeri, Stringhe e Logici e più Dispense in PDF di Elementi di Informatica solo su Docsity!
Laboratorio Informatica (C) – 3 –
Operazioni su numeri, stringhe e valori
logici
Marco Querini, Ph.D.
LUISS “Guido Carli” University
LUISS “Guido Carli” University
- I commenti sono utili per spiegare il codice ad altre persone che
andranno a leggerlo: non sono interpretati dall’interprete Python.
- I commenti in Python sono definiti tramite il carattere cancelletto,
# (il commento si estende per tutta la riga).
Commenti
Introduzione a Python
Part I
Esempio di commento del mio programma.
print('Hello World!') # Visualizziamo Hello World!
- Le stringhe di caratteri avranno tipo stringa (str) mentre gli interi
avranno tipo intero (int).
- In maniera meno ovvia, i numeri con cifre decimali avranno tipo
float, perché questi numeri sono rappresentati in un formato
denominato floating-point.
- Il termine numero in virgola mobile (in inglese floating point)
indica il metodo di rappresentazione approssimata dei numeri
reali.
- Se scriviamo il seguente codice:
- Output:
- Esercizio. Di che tipo sono i valori '17', 17, e 17.0?
Valori e Tipi (2)
Introduzione a Python
Part I
print(type(3.2))
- Una delle caratteristiche più importanti di un linguaggio di
programmazione è l’abilità di manipolare variabili. Una variabile è
costituita da un nome che fa riferimento ad un valore (possono
venirgli assegnati dinamicamente nuovi valori).
- Una istruzione di assegnazione crea nuove variabili e assegna
loro i valori.
- Il seguente esempio fa 3 assegnazioni.
- La prima riga assegna una stringa ad una nuova variabile chiamata message; la seconda assegna l’intero 17 alla variabile n; la terza assegna il valore approssimato di π alla variabile pi, che è un float.
Il simbolo (=) è usato per assegnare un valore ad una variabile.
Variabili
Introduzione a Python
Part I
message = 'Hello World!' n= pi=3.
- Gli operatori sono simboli speciali che rappresentano
computazioni come addizione e moltiplicazione. I valori a cui gli
operatori sono applicati sono denominati operandi.
- Gli operatori +, -, *, / e ** effettuano addizione, sottrazione,
moltiplicazione, divisione ed elevazione a potenza, come nei
seguenti esempi:
- Nota che le parentesi tonde possono essere usati per
raggruppare e dare una priorità alle operazioni.
Operatori e Operandi
Introduzione a Python
Part I
- Quando più operatori sono presenti in una espressione, la
valutazione dell’espressione dipende dalle regole di precedenza.
- Per gli operatori matematici Python segue le convenzioni
matematiche.
- Le parentesi hanno la maggiore precedenza.
- L’elevazione a potenza ha la maggiore precedenza dopo le parentesi.
- Moltiplicazione e divisione hanno la stessa precedenza, che è più alta di addizione e sottrazione, che hanno tra loro la stessa precedenza.
- Gli operatori con la stessa precedenza sono valutati da sinistra a destra (eccetto elevamento a potenza).
- Quando una espressione è molto complessa, è buona norma
usare sempre le parentesi.
Regole di precedenza
Introduzione a Python
Part I
- In Python3 la divisione si ottiene tramite operatore / ed il risultato
che se ne ottiene è un numero decimale.
- Esiste un ulteriore operatore, ovvero //, che permette di effettuare
la divisione intera.
Divisione e Divisione Intera
Introduzione a Python
Part I
x = input("Inserisci un numero intero:") # e.g., 13 x = int(x) print(x/2) # otterremo 6.5 se l’input è 13 print(x//2) # otterremo 6 se l’input è 13
- In Python3 tramite l’operatore % possiamo calcolare il resto della
divisione intera.
Resto della Divisione Intera
Introduzione a Python
Part I
x = 17%3 # resto della divisione intera print(x)
print(5 * 3 + 2) # risultato * divisore + resto
Operazioni sulle Stringhe
Introduzione a Python
Part I
Input
"hello"+"world"
"hello"*
"hello"[0]
"hello"[-1]
"hello"[1:4]
len("hello")
output
"helloworld"
"hellohellohello"
"h"
"o"
"ell"
# concatenazione
# ripetizione
# indicizzazione
# (dalla fine)
# sottostringa
# lunghezza
- L’operatore + può essere adoperato con le stringhe di caratteri
ma potrebbe non fare ciò che ci si aspetta: effettua
concatenazione, unisce diverse stringhe di caratteri.
- Anche l’operatore * può essere adoperato con le stringhe di
caratteri; effettua la ripetizione. Se un operando è una stringa di
caratteri, l’altro deve essere un intero.
Concatenazione e Ripetizione
Introduzione a Python
Part I
Input
"hello"+"world"
"hello"*
output
"helloworld"
"hellohellohello"
# concatenazione
# ripetizione
- Le espressioni aritmetiche valutano valori numerici; una
espressione booleana può avere soltanto due possibili valori:
vero o falso.
- Il termine “booleano” deriva dal matematico britannico George
Boole. Un ramo della matematica discreta denominato Algebra
booleana è dedicato allo studio delle proprietà e la manipolazione
di espressioni logiche.
- Le espressioni booleane sono essenziali per costruire programmi
complessi.
- In Python, il tipo di una variabile booleana è bool:
Valori booleani ed espressioni
01/03/2019 Marco Querini, Ph.D. 16
Algebra Booleana
Part II
var = True print(type(var)) # visualizzeremo print(type(False)) # visualizzeremo
- Le più semplici espressioni booleane sono False (falso) e True
(vero), i.e., i valori booleani in Python.
- In Python dobbiamo usare esattamente i valori True oppure False (non possiamo usare vero/falso nel codice).
- Una variabile booleana è anche una espressione booleana.
- Anche una espressione che confronta espressioni numeriche
(per uguaglianza, diversità, minore/maggiore) è una espressione
booleana (perché il suo risultato sarà True o False). Questi
confronti possono essere fatti con i seguenti operatori:
Espressioni Booleani: Operatori Relazionali
01/03/2019 Marco Querini, Ph.D. 17
Algebra Booleana
Part II
- Espressioni booleane semplici (dove ogni espressione potrebbe usare
ad esempio un operatore relazionale), può essere combinato in
espressioni booleane complesse usando gli operatori logici:
- and
- or
- not
- Una combinazione di due o più espressioni booleane che usa
operatori logici è ancora una espressione booleana.
- Per introdurre l’operatore AND, consideriamo una laurea in Ingegneria
Informatica che richiede il superamento degli esami ‘Sistemi Operativi’
e ‘Intelligenza Artificiale’.
- Uno studente deve completare con successo entrambi i corsi.
- Uno studente che supera il primo esame ma non il secondo non ha i requisiti.
- Uno studente che supera il secondo esame ma non il primo non ha i requisiti.
- Uno studente che non supera nessuno dei due esami non ha i requisiti.
Espressioni Booleane: Operatori Logici
01/03/2019 Marco Querini, Ph.D. 19
Algebra Booleana
Part II
- AND logico opera esattamente in questa maniera: Siano e1,e2 due
espressioni booleane, e1 AND e2 acquisisce il valore True solo se
sia e1 che e2 sono entrambi True; se una delle due espressioni (o
entrambe) vale False, l’espressione risultante è False.
Espressioni Booleane: AND logico
01/03/2019 Marco Querini, Ph.D. 20
Algebra Booleana
Part II
x= y= print(x!=y and x1 and x+y==11) # visualizzeremo True
print(True and True) # visualizzeremo True print(True and False) # visualizzeremo False print(False and True) # visualizzeremo False print(False and False) # visualizzeremo False