Il 0% ha trovato utile questo documento (0 voti)
27 visualizzazioni25 pagine

Lab05 - Python Operatori Booleani Relazionali e If

Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PPTX, PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
27 visualizzazioni25 pagine

Lab05 - Python Operatori Booleani Relazionali e If

Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PPTX, PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 25

Informatica

Python

Lab 05
Canale C
T.A. Valerio RUGHETTI
[email protected]

Informatica - Canale C - 2024/2025 1


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

Informatica - Canale C - 2024/2025 2


Operatori Booleani

AND OR NOT

Informatica - Canale C - 2024/2025


Operatori Booleani

>>> freddo = True


>>> pioggia = False
>>> nuvoloso = True
>>> caldo = not freddo
>>> non_esco = pioggia and freddo
>>> brutto_tempo = pioggia or nuvoloso
>>> esco = not freddo and not brutto_tempo

>>> print (caldo, non_esco, brutto_tempo, esco)


False, False, True, False
Informatica - Canale C - 2024/2025 4
Operatori relazionali

Simbolo Operazione
< minore di
> maggiore di
<= minore o uguale di
>= maggiore o uguale
di
== uguale a
!= diverso da
Informatica - Canale C - 2024/2025 5
Operatori relazionali

>>> 3 < 5
True

>>> 10.0 == 10
True

>>> 3.5 != 3.45


True

>>> print(2 <= 4 <= 3)


False

Informatica - Canale C - 2024/2025 6


Operatori relazionali

Anche le stringhe possono essere confrontate:

• cifre < maiuscole < minuscole

Stringhe di più caratteri sono confrontate da sinistra verso destra:


• se tutti i caratteri sono uguali le due stringhe sono uguali
• se una è il prefisso dell'altra quella più corta è la minore
• altrimenti il primo carattere in cui le stringhe differiscono
determina l'ordine (sulla base del loro codice ASCII)

Informatica - Canale C - 2024/2025 7


Operatori relazionali

>>> "stringa" == "Stringa"


False

>>> '0' < 'A' < 'a'


True

>>> 'stringA' < 'stringa' < 'stringaa'


True

Informatica - Canale C - 2024/2025 8


Operatore 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.

Nelle stringhe si può usare in sia per singoli caratteri sia per
sottostringhe.

Informatica - Canale C - 2024/2025 9


Operatore di appartenenza

>>> nozze = 'pizza e fichi' >>> 'fichi' in nozze


>>> 'a' in nozze True
True
>>> 'ostriche' not in nozze
>>> 'A' in nozze True
False

>>> ' ' in nozze


True

Informatica - Canale C - 2024/2025


10
Input

I programmi solitamente sono parametrici:

• producono un risultato che dipende da un insieme di dati di


partenza (input)
• descrivono la soluzione non di un singolo problema, ma di
un’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.

Informatica - Canale C - 2024/2025 11


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

Informatica - Canale C - 2024/2025 12


Input

Esempio: dato il seguente programma:


# salva in x il valore inserito dall'utente
x = input("Inserisci una espressione:")
print (x*2)
Domanda: cosa succede se l’utente inserisce 2 ?
Domanda: cosa succede se l’utente inserisce 2**3
Domanda: cosa succede se l’utente inserisce 'ciao’
Ripetere l’esercizio nel seguente modo:
x = int(input("Inserisci una espressione:"))
print (x*2)

Informatica - Canale C - 2024/2025 13


if

Il costrutto if permette di prendere


decisioni, secondo la seguente condizion False
sintassi: e

True

if condizione:
istruzioni istruzio
ni

Le istruzioni, indentate di 4 spazi,


sono eseguite solo se il valore della
condizione è True.
Informatica - Canale C - 2024/2025
14
if

>>> pioggia = False


>>> nuvoloso = True
>>> testo = "senza"
>>> if pioggia or nuvoloso:
testo = "con"
>>> print ("usciamo " + testo + " l'ombrello")

Output:
usciamo con l'ombrello

Informatica - Canale C - 2024/2025 15


if else

else permette di definire le


istruzioni da eseguire se la True condizion False
condizione dell'if è False (o le e
condizioni dell’if e degli elif sono
False).

istruzion istruzion
Sintassi: i1 i2
if condizione:
istruzioni1
else:
istruzioni2
Informatica - Canale C - 2024/2025
16
if elif else

condizione True istruzion


elif permette di esprimere un 1 i1
numero arbitrario di condizioni
False
alternative.
Sintassi: condizione True istruzion
2 i2
if condizione1:
False
istruzioni1
True
elif condizione2: condizione istruzion
3 i3
istruzioni2
False
elif condizione3:
istruzion
istruzioni3 i4
else:
istruzioni4
Informatica - Canale C - 2024/2025
17
if elif else

x = int(input())
if x < 0:
print ('Negativo')
else:
print ('Positivo')
E se inserisco 0?

x = int(input())
if x < 0:
print ('Negativo')
elif x == 0:
print ('Zero')
else:
print ('Positivo')

Informatica - Canale C - 2024/2025 18


Esercizio

Scrivere un programma che:

1. Visualizzi la somma di due numeri inseriti in input dall’utente


2. Visualizzi la scritta "x è minore di y" , "x è uguale a y" o "x è
maggiore di y" in base ai due numeri (x e y) inseriti in input
dall’utente
3. Visualizzi il maggiore tra tre numeri INTERI inseriti in input
dall’utente
4. Visualizzi il valore assoluto di un numero INTERO inserito in
input dall’utente

Informatica - Canale C - 2024/2025 19


Soluzione 1

Visualizzare la somma di due numeri inseriti in input dall’utente:

primo=int(input())
secondo=int(input())
somma = primo + secondo
print (somma)

Informatica - Canale C - 2024/2025 20


Soluzione 2

Visualizzare la scritta "x è minore di y" , "x è uguale a y" o "x è


maggiore di y" in base ai due numeri (x e y) inseriti in input
dall’utente.

x = int(input())
y = int(input())
if x < y:
print (x, "è minore di", y)
elif x==y:
print (x, "è uguale a", y)
else:
print (x, "è maggiore di", y)
Informatica - Canale C - 2024/2025 21
Soluzione 3

Visualizzi il maggiore tra tre numeri INTERI inseriti in input


dall’utente:

x = int(input())
y = int(input())
z = int(input())

massimo = x
if y > massimo:
massimo = y
if z > massimo:
massimo = z
print (massimo) Informatica - Canale C - 2024/2025 22
Soluzione 4

Visualizzare il valore assoluto di un numero INTERO inserito in input


dall’utente

num = int(input())
if num < 0:
val_ass=num*-1
print ('il numero inserito è:', num)
print ('il valore assoluto è:', val_ass)
else:
print ('il numero inserito è:', num)
print ('il valore assoluto è:', num)

Informatica - Canale C - 2024/2025 23


Esercizio

Avete 5 interi in input. Un numero per linea. (dovete utilizzare input() almeno 5
volte)
Calcolate la somma di questi numeri.
Stampate:
• se la somma è pari: la somma diviso 2
• se la somma è dispari: la somma diviso 5

Il risultato sarà un numero decimale

Informatica - Canale C - 2024/2025


Soluzione

x = int(input())
y = int(input())
z = int(input())
w = int(input())
q = int(input())

somma = x + y + z + w
+ q
if s%2 == 0:
print(s/2)
else:
print(s/5)

Informatica - Canale C - 2024/2025

Potrebbero piacerti anche