Istruzioni condizionali in Python

Istruzioni condizionali in Python

In questa lezione, ci concentreremo sull’utilizzo delle istruzioni condizionali in Python per consolidare la nostra comprensione di questo concetto fondamentale.

Primo Esercizio sulle Istruzioni Condizionali in Python

Iniziamo con un esercizio che riguarda la classificazione di una frazione come propria, impropria o apparente, date il numeratore e il denominatore. Dunque:

Dati in input il numeratore e il denominatore di una frazione, stabilire se tale frazione è propria, impropria o apparente.

Per la risoluzione di questo algoritmo ricordiamo le definizioni elencate di seguito.

  • Una frazione è propria quando il numeratore è minore del denominatore.
  • Invece, una frazione è impropria quando il numeratore è maggiore del denominatore, ma non è un suo multiplo. Se fosse un multiplo, la frazione sarebbe considerata apparente.
  • Infine, una frazione è apparente quando il numeratore è uguale al denominatore o è un multiplo del denominatore.

Ecco quindi una possibile soluzione che fa uso delle istruzioni condizionali in Python, dove consideriamo il numeratore e il denominatori numeri interi.

numeratore, denominatore = int(input('Inserisci il numeratore: ')), int(input('Inserisci il denominatore: '))

if numeratore % denominatore == 0:
    print('La frazione è apparente')
else:
    if numeratore > denominatore:
        print('La frazione è impropria')
    else:
        print('La frazione è propria')

Se il numeratore è uguale al denominatore, allora il risultato di numeratore % denominatore sarà sempre zero, poiché la divisione tra due numeri uguali dà resto zero. Quindi, se abbiamo già verificato che numeratore % denominatore == 0, non c’è bisogno di controllare ulteriormente se numeratore == denominatore. Dopo controlliamo se il numeratore è maggiore del denominatore ed in tal caso la frazione è impropria, se non sono vere le condizioni precedentemente verificate allora la frazione è propria.

Adesso proponiamo una soluzione che utilizza l’elif:

# Chiediamo all'utente di inserire il numeratore e il denominatore
numeratore = int(input('Inserisci il numeratore: '))
denominatore = int(input('Inserisci il denominatore: '))

# Verifichiamo se la frazione è apparente, propria o impropria
if numeratore % denominatore == 0:
    print('La frazione è apparente')
elif numeratore > denominatore:
    print('La frazione è impropria')
else:
    print('La frazione è propria')

In questa soluzione, controlliamo prima se il numeratore è un multiplo del denominatore, quindi è apparente. Se questa dcondizione non è soddisfatta, allora verifichiamo se il numeratore è maggiore del denominatore per determinare se la frazione è impropria o propria.


Secondo Esercizio sulle Istruzioni Condizionali in Python

Passiamo ora a determinare, senza eseguire l’operazione, se il prodotto di due numeri naturali è uguale a zero.

Il prodotto di due numeri naturali è uguale a zero quando almeno uno dei numeri è uguale a zero. Questo può essere facilmente verificato utilizzando l’operatore logico or.

Ecco una possibile soluzione:

a, b = int(input('Inserisci a: ')), int(input('Inserisci b: '))

if a == 0 or b == 0:
    print('Il prodotto è nullo')
else:
    print('Il prodotto non è nullo')

Potremmo anche non utilizzare l’or implementando questa soluzione che fa uso di elif (else if).

a, b = int(input('Inserisci a: ')), int(input('Inserisci b: '))

if a == 0:
    print('Il prodotto è nullo')
elif b == 0:
    print('Il prodotto è nullo')
else:
    print('Il prodotto non è nullo')

Questi sono solo due esempi degli algoritmi che possiamo sviluppare utilizzando le istruzioni condizionali in Python. Ne esploreremo ulteriori nelle prossime lezioni, continuando a consolidare la nostra comprensione di questo concetto fondamentale.

Migliora le tue capacità di programmazione Python seguendo i nostri corsi in diretta!

corsi Python

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

10 – Scambio di variabili

11 – Modulo math

12 – Operatori di confronto e booleani

13 – If else in

14 – If elif else

15 – If annidati

Massimo fra tre numeri in Python

Massimo fra tre numeri in 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)


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.

Migliora le tue capacità di programmazione Python seguendo i nostri corsi in diretta!

corsi Python

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