
Proponiamo delle soluzioni per la risoluzione dell’algoritmo che trova il massimo fra tre numeri in Python, difatti come già detto nelle precedenti lezioni c’è quasi sempre più di una soluzione per risolvere un problema.
Dati in input tre numeri interi a, b e c, trovare il valore massimo.
Prima soluzione per trovare il massimo fra tre numeri in Python
Nella prima soluzione controlliamo dapprima:
a>b se è vero si passa alla condizione a>c (è infatti scontato che b non può essere il maggiore):
a>c se è vero stampa il valore a; altrimenti stampa il valore c.
a>b se è falso si passa alla condizione b>c (è infatti scontato che a non può essere il maggiore):
b>c se è vero stampa il valore b; altrimenti stampa il valore c.
Ecco dunque l’implementazione in Python:
a=int(input(‘Inserisci il primo numero: ‘))
b=int(input(‘Inserisci il secondo numero: ‘))
c=int(input(‘Inserisci il terzo numero: ‘))
if a>b:
if a>c:
print(‘Il valore maggiore è a: ‘, a)
else:
print(‘Il valore maggiore è c: ‘, c)
else:
if b>c:
print(‘Il valore maggiore è b: ‘, b)
else:
print(‘Il valore maggiore è c: ‘, c)
Seconda soluzione
Nella seconda soluzione utilizzeremo l’operatore logico and, in modo da creare una struttura più snella. Infatti se a> b e a>c sono entrambe vere allora a è il maggiore; altrimenti a sicuramente non è il maggiore e allora basta controllare se b è maggiore di c e in base a quest’ultima condizione si stabilisce il maggiore.
a=int(input(‘Inserisci il primo numero: ‘))
b=int(input(‘Inserisci il secondo numero: ‘))
c=int(input(‘Inserisci il terzo numero: ‘))
if a>b and a>c:
print(‘Il valore maggiore è a: ‘, a)
else:
if b>c:
print(‘Il valore maggiore è b: ‘, b)
else:
print(‘Il valore maggiore è c: ‘, c)
Terza soluzione con l’uso di elif:
Questa soluzione è simile alla seconda ma si utilizza l’istruzione elif che ricordiamo sta per else if.
a=int(input(‘Inserisci il primo numero: ‘))
b=int(input(‘Inserisci il secondo numero: ‘))
c=int(input(‘Inserisci il terzo numero: ‘))
if a>b and a>c:
print(‘Il valore maggiore è a: ‘, a)
elif b>c:
print(‘Il valore maggiore è b: ‘, b)
else:
print(‘Il valore maggiore è c: ‘, c)
Controllo dell’uguaglianza prima di trovare il maggiore
Infine presentiamo una soluzione dove controlliamo se i numeri sono tutti uguali e visualizziamo così un messaggio opportuno.
a=int(input(‘Inserisci il primo numero: ‘))
b=int(input(‘Inserisci il secondo numero: ‘))
c=int(input(‘Inserisci il terzo numero: ‘))
if a==b and b==c:
print(‘I numeri sono uguali’)
elif a>b and a>c:
print(‘Il valore maggiore è a: ‘, a)
elif b>c:
print(‘Il valore maggiore è b: ‘, b)
else:
print(‘Il valore maggiore è c: ‘, c)
Quarta soluzione
Infine ecco un’ultima soluzione che fa uso della variabile max.
a,b,c=int(input(‘Inserisci il primo numero:’)), int(input(‘Inserisci il secondo numero:’)), int(input(‘Inserisci il terzo numero: ‘))
max=a
if b>max:
max=b
if c>max:
max=c
print(‘Il valore maggiore è: ‘, max)
Alcuni link utili
Indice tutorial sul linguaggio Python
1 – Introduzione al linguaggio Python
2 – Le variabili
3 – Operatori aritmetici e di assegnazione
4 – Stringhe
5 – Casting
6 – Input e print
8 – Errori in Python
9 – Script Python
10 – Scambio di variabili
11 – Modulo math
12 – Operatori di confronto e booleani
13 – If else
14 – If elif else
15 – If annidati