(Python) Istruzione condizionale


Strutture di controllo

Vuoi imparare a creare programmi potenti, "intelligenti", versatili e utili?

Quindi è necessario apprendere le tre principali forme di controllo dell'esecuzione del programma. Secondo la teoria dei sistemi informatici, un buon linguaggio di programmazione dovrebbe prevedere l'implementazione di tre forme di controllo sull'esecuzione dei programmi.

1 - SEQUENZA:  esecuzione di istruzioni sequenziali - l'abbiamo già incontrato nei corsi precedenti. Tutti i nostri programmi precedenti sono una sequenza di istruzioni.

2 - SELEZIONA:
     se tale e tale caso,
              allora fallo
     altrimenti fallo.
3 - RIPETI:
FINO A (purché tali e tali casi — fallo).

Il secondo modulo – LA SCELTA tra diversi modi di fare le cose rende i programmi più "intelligenti" e rende anche i computer estremamente efficienti.

Iniziamo con un semplice esempio. 
Devi inserire due numeri reali dalla tastiera e determinare il più grande di essi.
Esplora questo esempio.

Enunciato condizionale (if)

Nel problema di trovare il numero massimo di due, abbiamo incontrato un nuovo operatore che iniziava con la parola if. Questo operatore si chiama operatore CONDIZIONALE.

La parola if è tradotta dall'inglese come "if", e la parola else - come "altrimenti". Se la condizione dopo la parola if è true (true), allora vengono eseguiti tutti i comandi (operatori) dopo i due punti su una nuova riga e situati prima della parola else. Se la condizione è falsa (false), vengono eseguiti i comandi dopo la parola else:. 

A differenza di altri linguaggi di programmazione, le istruzioni di rientro (spostamenti) relative al bordo sinistro sono importanti in Python. Il rientro influisce sulle prestazioni del programma. Se guardi da vicino, la parola if  e la parola else iniziano allo stesso livello e i comandi che vengono eseguiti vengono spostati a destra rispetto a questo livello la stessa distanza (si consiglia di utilizzare 4 spazi).
 
VISTA GENERALE DELLA DICHIARAZIONE CONDIZIONALE:
se condizione: # titolo con condizione
    # blocco "se". — istruzioni che vengono eseguite
    # se la condizione nell'intestazione è vera
altro:
    # blocca "altrimenti" — istruzioni che vengono eseguite
    # se la condizione nell'intestazione è falsa

Devi ricordare!
1. if-else -  è un'affermazione!
2. Dopo la parola else , la condizione non è mai impostata (la condizione è impostata solo dopo la parola if).
     Blocca "altrimenti" viene eseguito quando la condizione principale specificata dopo la parola if   è falsa, cioè non eseguito.
3. Le istruzioni da eseguire in ogni ramo (if o else) sono scritte con lo stesso rientro di 4 spazi. Rientro obbligatorio! 
4. Condizione è un'espressione che può essere definita vera (ovvero soddisfatta) o falsa (ovvero non soddisfatta).
La condizione utilizza segni di relazioni logiche
  > , <                 più, meno,
  >=, <=              maggiore o uguale, minore o uguale,
  ==                     uguale a,
  !=                     non uguale.

Enunciato condizionale incompleto

Se nel blocco "altrimenti". non devi fare nulla (ad esempio: "se c'è un gelato in saldo, compra il gelato", e se no ...), allora l'intero blocco "altrimenti" puoi omettere e utilizzare una forma abbreviata (incompleta) dell'operatore condizionale:
se condizione:
   ... # cosa fare se la condizione è vera
L'operazione di scegliere il massimo tra due valori è usata molto spesso, quindi Python ha una funzione integrata max che può essere chiamata in questo modo
M = max(A, B)
Esiste anche una funzione simile per trovare il valore minimo di due o più valori - min(). 

Quando si sceglie tra due valori in Python, è possibile utilizzare un'altra forma dell'operatore condizionale, che funziona come la forma completa dell'operatore condizionale.
M = a se a > b altrimenti b
Se devi fare più di un  se la condizione è soddisfatta, tutte le azioni vengono scritte una sotto l'altra allo stesso livello di turno:
se un > B:
  temp = a
  a = b
  b = temperatura
In questo programma, se \(a>b\), allora scambiamo i valori delle variabili. La variabile temp è ausiliaria.
Notare gli stessi spostamenti dal bordo sinistro di tutti e tre gli operatori. Questo dice al compilatore che tutte e tre le istruzioni vengono eseguite a condizione che a>b.
Un'altra sottigliezza del linguaggio Python è   operatore di assegnamento multiplo, che facilita lo scambio di due variabili. Si può scrivere così:
a, b = b, a