If Python
Da Hacknowledge.
L'if è una istruzione condizionale che corrisponde al "se" italiano.
Come noi in italiano diciamo "Se il tempo è bello, esco", allo stesso modo funziona un if in programmazione:
if (condizione):
azioni
La base di un if è quindi questa. Se è verificata la condizione viene eseguito il codice corrispondente. Notare che le azioni sono un blocco identato.
Però in italiano possiamo ad esempio dire "Se il tempo è bello, esco; altrimenti sto a casa". Entra così in gioco una azione che si compie quando la condizione non è verificata. In Python questo "altrimenti" si esprime con "else":
if (condizione):
azioni
else:
altre azioni
Come possiamo notare, l'else è allo stesso livello dell'if, non fa ovviamente parte del blocco di azioni da eseguire nel caso la condizione sia verificata. Come per l'if, anche dopo l'else segue un blocco identato.
In italiano abbiamo poi l'opportunità di esprimere più possibilità "Se il tempo è bello, esco; se è nuvoloso prendo l'ombrello, altrimenti sto a casa". In questo caso abbiamo aggiunto una ulteriore possibilità che è "se è nuvoloso prendo l'ombrello". Riprendendo il ragionamento iniziale, questo non è altro che un if. Essendo però questo secondo if subordinato al primo (se la condizione del primo è verificato non eseguirò le altre azioni), questo if diventa una via di mezzo tra un else e un if: diventa appunto un elif.
if (condizione):
azioni
elif (condizione 2):
altre azioni
else:
altre azioni ancora
Come si può ben capire, il numero di condizioni inseribili è infinito.
Complichiamo ulteriormente le cose aggiungendo più condizioni per una sola "scelta". Esempio in italiano come prima "Se il tempo è bello E fa caldo, esco". Come si può notare abbiamo aggiunto una E, avendo così due condizioni che devo verificarsi INSIEME (tempo bello E caldo) per una sola azione (uscire). Per scriverlo in codice bisogna usare l'operatore logico and.
if ((condizione1)and(condizione2)):
azioni
Notiamo come ogni singola condiziona sia racchiusa tra parentesi e inoltre siano tutte racchiuse in una parentesi a loro volta.
Ma se invece di tempo bello E caldo, avessimo voluto tempo bello O non piovoso?
Il ragionamento è circa come quello di prima: più condizioni per una stessa azione. Cambia però il come devo avvenire le condizioni: se prima dovevamo avvenire INSIEME, ora basta che sia UNA O L'ALTRA. Quindi se prima il tempo fosse stato solo bello, ma non caldo sarei rimasto a casa, perchè mancava la condizione del "caldo". Ora invece non basta che il tempo sia O bello O non piovoso per uscire. Quindi se con l'and TUTTE le condizioni devono avverarsi, con l'or basta che UNA si verifichi.
if ((condizione1) or not (condizion2)):
azioni
Notare il not, che significa appunto "non".
Come si può vedere il funzionamento di un if è lo stesso sia che la condizione sia una sola, sia che siano più di una.

