libri-javascript-python

Proponiamo diverse soluzioni per risolvere l’algoritmo che trova il massimo fra tre numeri in Python. Come già discusso nelle precedenti lezioni, spesso esistono più di una soluzione per risolvere un problema.

Dati in input tre numeri interi a, b e c, l’obiettivo è trovare il valore massimo.

Prima soluzione per trovare il massimo fra tre numeri in Python

Nella prima soluzione, controlliamo dapprima:

  • se a > b è vero, passiamo alla condizione a > c (è scontato che b non può essere il maggiore). Se questa condizione è vera, stampa il valore a; altrimenti stampa il valore c.
  • Se a > b è falso, passiamo alla condizione b > c (è scontato che a non può essere il maggiore). Dunque, se questa condizione è vera, stampa il valore b; altrimenti stampa il valore c.

Ecco 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 per trovare il massimo fra tre numeri in Python

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.

Ecco dunque l’algoritmo 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 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)

Disponibile il libro su Python “50 Algoritmi per imparare Python”


Terza soluzione con l’uso di elif per trovare il massimo fra tre numeri in Python

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 aggiungiamo il controllo 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 per trovare il massimo fra tre numeri in Python

Possiamo utilizzare una quarta soluzione che fa uso della variabile max_num per memorizzare il primo valore inserito. Dopo si confrontano gli altri due valori con il valore di max_num e se sono superiori il valore di max_num viene aggiornato.

Ecco dunque l’algoritmo in Python:

a, b, c = int(input('Inserisci il primo numero: ')), int(input('Inserisci il secondo numero: ')), int(input('Inserisci il terzo numero: '))

max_num = a

if b > max_num:
    max_num = b
if c > max_num:
    max_num = c

print('Il valore maggiore è:', max_num)

Queste rappresentano diverse soluzioni per trovare il massimo fra tre numeri in Python. Ognuna ha i suoi vantaggi e può essere utilizzata in base alle esigenze specifiche del problema. La scelta della soluzione dipende spesso dalla complessità del problema e dalle preferenze personali del programmatore.

Quinta soluzione per trovare il massimo fra tre numeri in Python

Possiamo anche utilizzare la funzione built-in max per calcolare il massimo fra tre numeri. Ecco di seguito l’algoritmo:

a, b, c = int(input('Inserisci il primo numero: ')), int(input('Inserisci il secondo numero: ')), int(input('Inserisci il terzo numero: '))

massimo = max(a,b,c)

print(massimo)

Conclusioni

In questo articolo abbiamo esplorato diverse strategie per trovare il massimo fra tre numeri in Python. Ognuna delle soluzioni proposte ha i suoi punti di forza e può essere adatta a diversi contesti.

La prima soluzione utilizza una serie di condizioni annidate per confrontare i numeri e determinare il massimo. Questo approccio è diretto ma può diventare complesso da gestire se il numero di condizioni aumenta.

Invece, la seconda soluzione sfrutta l’operatore logico “and” per rendere il codice più conciso. Questo rende il codice più leggibile e meno suscettibile a errori di logica.

Ho proposto anche una terza soluzione che utilizza l’istruzione elif per semplificare ulteriormente il codice, migliorando la sua leggibilità.

La quarta soluzione fa uso di una variabile max_num per tenere traccia del massimo valore. Questo approccio è particolarmente utile quando si vuole mantenere il codice più pulito e facile da comprendere.

Poi, abbiamo anche esaminato un controllo speciale per verificare se i numeri sono tutti uguali, offrendo un’implementazione che gestisce questo caso specifico.

Infine nella quinta soluzione utilizzando la funzione built-in max, viene trovato il massimo fra i tre numeri a, b e c e assegnato alla variabile massimo.

In conclusione, la scelta della soluzione dipende dalle esigenze specifiche del problema, dalle preferenze del programmatore e dalla leggibilità del codice. È importante scegliere l’approccio più adatto al contesto in cui si lavora, mantenendo sempre in mente la chiarezza e la manutenibilità del codice.

Alcuni link utili

Corso in diretta su Python

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

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python