Un aggiornamento Smooth sulle dichiarazioni condizionali di Python

La vita è prendere le giuste decisioni, ei nostri programmi non ne sono esenti. Bene, alla fine stiamo programmando qualcosa per alcuni aspetti della nostra vita. Pertanto, dovremmo aspettarci di prendere decisioni nei nostri programmi.

Ecco dove dichiarazioni condizionali entrare in gioco. Ci aiutano a prendere tali decisioni dal controllo logico dei nostri programmi. Le istruzioni condizionali in Python sono: Se, Elif, e altro.

Ma cosa fa l'affermazione condizionale? Controlla semplicemente se una dichiarazione (test) è vero o falso, in base a quale decisione viene eseguita.

Programmi di ramificazione

diversamente da retta programmi in cui le istruzioni vengono eseguite nell'ordine in cui appaiono, programmi di ramificazione consentirci di passare a dichiarazioni indipendentemente dall'ordine, ma in base alla decisione. Le dichiarazioni condizionali menzionate sopra sono considerate di questo tipo di programmi, a condizione che, se è stata eseguita un'istruzione condizionale, l'esecuzione del programma continui nel codice che segue l'istruzione condizionale.

Struttura di dichiarazione condizionale 

In questa sezione descriverò le diverse parti di cui è composta una dichiarazione condizionale. Una dichiarazione condizionale consiste essenzialmente delle seguenti parti principali:

  • un test che valuta entrambi vero o falso
  • un blocco di codice che viene eseguito se il test è vero
  • un blocco facoltativo di codice se il test è falso

L'istruzione condizionale in Python si presenta così come segue:

se test: codice altro: codice

dove test è un'espressione booleana, cioè un'espressione che valuta entrambi vero o falso. In altre parole, le dichiarazioni condizionali ci permettono di verificare la veridicità di alcune affermazioni. Vediamo un semplice esempio della struttura di cui sopra:

x = 0 se x == 3: print 'x è uguale a 3' else: print 'x NON è uguale a 3' print 'Questo è tutto!'

Qual è l'output di questo snippet di codice? Vai avanti, provalo.

A questo punto, penso che dovrei menzionare rapidamente dentellatura (spazi), che Python utilizza al contrario delle parentesi graffe in altri linguaggi come C. Nello script precedente, cosa accadrebbe se scriveste l'ultimo stampare dichiarazione sullo stesso livello sotto il stampare dichiarazione sopra (il altro codice)? In altre parole, se lo scrivessimo come segue:

else: print 'x non è uguale a 5' print 'Questo è tutto!'

In questo caso, stampa "Questo è tutto!" sarà parte del altro blocco di codice.

Questo è solo un rapido esempio di indentazione, su cui Python si basa ampiamente nella sua sintassi. Quando programmi in Python, dovresti aspettarti che errori come questo compaiano saltuariamente quando c'è un problema con il rientro:

IndentationError: previsto un blocco rientrato 

Dichiarazioni condizionali annidate

Si dice che l'affermazione condizionale sia nidificato se la vero blocco di codice o falso il blocco di codice (ad es. altro) contiene un'altra istruzione condizionale. Vediamo un esempio di questo:

if course1 == 'Computer Science I': if course2 == 'Computer Science II': print 'lo studente può seguire il corso delle strutture dati' altrimenti: print 'studente non ha i requisiti necessari per seguire il corso delle strutture dati' 

Qui abbiamo una dichiarazione condizionale annidata dal primo Se la dichiarazione contiene un altro Se dichiarazione al suo interno. Notare nuovamente come il codice è rientrato. Questo è molto critico quando si programma in Python.

Espressioni booleane composte

Come ricordi, abbiamo menzionato che il test nella struttura dell'istruzione condizionale è un'espressione booleana. A volte potresti aver bisogno di più di un'espressione booleana nello stesso test, e questo è ciò che chiamiamo espressioni booleane composte

Prendiamo un esempio che trova il numero più piccolo di tre numeri. Si noti che il primo test è un'espressione booleana composta.

se una

In questo esempio usiamo la terza istruzione condizionale per la prima volta in questo tutorial, cioè Elif, che si riferisce a altrimenti se.

Abbiamo anche usato un'operazione booleana chiamata e, il che significa che tutte le dichiarazioni devono essere vero in modo che venga eseguita la seguente dichiarazione. Le operazioni booleane di Python possono essere riassunte nella seguente tabella:

Operazione booleana Descrizione
o la seguente istruzione viene eseguita se qualsiasi espressione è vera
e tutte le espressioni devono essere vere per la seguente istruzione da eseguire
non l'espressione è falsa se valuta true, e viceversa

Se hai avuto una dichiarazione (test) con un mix di quelle operazioni, l'ordine di priorità è il seguente: o corre prima, quindi e, poi non.

Prendiamo un altro esempio che mostra come possiamo usare le operazioni booleane con le liste:

list = [1,2,3,4,5] x = 13 se x non in lista: print 'x non è nella lista'

Guarda come abbiamo usato non in questo esempio? Come sapete, per il blocco di codice nel Se istruzione da eseguire, l'istruzione (espressione booleana) dovrebbe valutare vero. La dichiarazione inizialmente valuta falso nel nostro casodal 13 non appartiene alla lista. Se esegui il programma, tuttavia, noterai che il programma stampare la dichiarazione è stata eseguita. Come è successo? Questo è successo da quando abbiamo usato il non operatore, che inverte il valore di valutazione originale. Nel nostro caso, è invertito falso a vero.

Python e Switch?

So che forse ti stavi chiedendo fino a quando a interruttore l'esempio arriverà. Forse se hai imparato le dichiarazioni condizionali in un altro linguaggio di programmazione, ti sei confrontato con esempi che mostrano la bellezza dell'uso interruttore dichiarazioni. Il motivo per cui non ho citato esempi di tali affermazioni è dovuto al fatto che Python non ha interruttore dichiarazioni!

Per ulteriori informazioni sulle condizioni di Python, è possibile fare riferimento alla documentazione.