Python Istruzioni condizionali: IF…Else, ELIF e Switch Case
⚡ Riepilogo intelligente
Python Le istruzioni condizionali dirigono il flusso del programma eseguendo specifici blocchi di codice solo quando le espressioni booleane risultano vere. Tra queste rientrano if, else, elif, if annidati, l'operatore ternario e la corrispondenza di pattern strutturali per una logica pulita e orientata alle decisioni.

Cosa sono le dichiarazioni condizionali? Python?
Dichiarazioni condizionali in Python eseguire calcoli o azioni diverse a seconda che uno specifico vincolo booleano risulti vero o falso. Permettono a un programma di prendere decisioni e seguire percorsi diversi invece di eseguire ogni riga in sequenza. Python, le istruzioni condizionali sono gestite da if istruzione e i suoi complementi: else, elif e if annidato.
Cosa è Python Se Dichiarazione?
Migliori Python istruzione if viene utilizzato per operazioni decisionali. Contiene un corpo di codice che viene eseguito solo quando la condizione specificata nell'istruzione if è vera. Se la condizione è falsa, viene invece eseguita l'istruzione else opzionale, che contiene il codice per la condizione else. Quando si desidera agire su una condizione mentre un'altra non è vera, si utilizza l'istruzione else. Python istruzione if-else.
Python Sintassi dell'istruzione if:
if expression:
statement
else:
statement
Python se... altrimenti Diagramma di flusso
Il diagramma di flusso sopra mostra come il controllo scorre attraverso un'istruzione if-else. Vediamo un esempio di Python Esempio pratico di istruzione if-else:
# Example file for working with conditional statements
def main():
x, y = 2, 8
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Linea 3: Definiamo due variabili x, y = 2, 8.
- Code Linea 4: L'istruzione if controlla la condizione x < y, che è I veri in questo caso.
- Code Linea 5: La variabile st è impostata su "x è minore di y".
- Code Linea 6: La riga print(st) stampa il valore di st, che è "x è minore di y".
Cosa succede quando la condizione "if" non viene soddisfatta?
Basandoci sull'esempio precedente, vediamo cosa succede quando la condizione if in Python non viene soddisfatta. Quando la condizione è falsa e non esiste alcun ramo else, il codice indentato viene completamente saltato.
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Linea 3: Definiamo due variabili x, y = 8, 4.
- Code Linea 4: L'istruzione if controlla la condizione x < y, che è Falso in questo caso.
- Code Linea 5: La variabile st è NON impostato su "x è minore di y".
- Code Linea 6: La riga print(st) tenta di stampare una variabile che non è mai stata dichiarata, quindi Python solleva un NomeErrore.
Come utilizzare la condizione “else”
Per evitare l'errore sopra descritto, è possibile aggiungere una condizione else. La condizione else viene utilizzata quando è necessario valutare un'affermazione in base a un'altra. Se una condizione è falsa, il blocco else fornisce un percorso alternativo in modo che il programma produca comunque un risultato.
Esempio:
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Linea 3: Definiamo due variabili x, y = 8, 4.
- Code Linea 4: L'istruzione if controlla la condizione x < y, che è Falso in questo caso.
- Code Linea 6: Il flusso di controllo del programma passa alla condizione else.
- Code Linea 7: La variabile st è impostata su "x è maggiore di te."
- Code Linea 8: La riga print(st) stampa il valore di st, che è "x è maggiore di y".
Quando la condizione “else” non funziona
La condizione else non sempre produce il risultato desiderato. Può stampare un output errato in presenza di un errore nella logica del programma. Questo accade solitamente quando è necessario giustificare più di due istruzioni o condizioni in un programma. Un esempio aiuterà a comprendere meglio questo concetto.
Qui entrambe le variabili sono uguali (8, 8), eppure l'output del programma è “x è maggiore di y,” che è SBAGLIATOQuesto accade perché il programma verifica la prima condizione (la condizione if) e, in caso di errore, stampa la seconda condizione (la condizione else) come valore predefinito. Nel passaggio successivo vedremo come correggere questo errore.
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
Come utilizzare la condizione “elif”
Per correggere l'errore precedente commesso dalla condizione else, possiamo usare Elif Istruzione. Utilizzando la condizione elif, si indica al programma di verificare una terza possibilità quando la prima condizione è falsa. È possibile concatenare più condizioni elif per verificare la quarta, la quinta e ulteriori possibilità nel codice.
Esempio:
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
elif(x == y):
st = "x is same as y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Linea 3: Definiamo due variabili x, y = 8, 8.
- Code Linea 4: L'istruzione if controlla la condizione x < y, che è Falso in questo caso.
- Code Linea 6: Il flusso di controllo del programma passa alla condizione elif. Questa verifica se x == y, il che è vero.
- Code Linea 7: La variabile st è impostata su "x è stesso y. "
- Code Linea 10: Il controllo del programma esce dall'istruzione if (non raggiungerà l'istruzione else) e stampa st. L'output è "x è uguale a y", che è corretto.
Come eseguire un'istruzione condizionale con il minimo Code
Ora che puoi scrivere blocchi if-elif-else completi, Python ti permette di condensare una semplice condizione in una sola riga. Invece di scrivere codice separato per ogni ramo, puoi usare un espressione ternaria (condizionale).
Sintassi:
value_if_true if condition else value_if_false
Esempio:
def main():
x, y = 10, 8
st = "x is less than y" if (x < y) else "x is greater than or equal to y"
print(st)
if __name__ == "__main__":
main()
- Code Linea 2: Definiamo due variabili x, y = 10, 8.
- Code Linea 3: La variabile st assume il valore "x minore di y" se x < y; altrimenti assume il valore "x maggiore o uguale a y". Poiché in questo caso x > y, st assume il secondo valore.
- Code Linea 4: Stampa il valore di st e fornisce l'output corretto.
Python Nidificata se istruzione
Un'istruzione if annidata inserisce un'istruzione if all'interno di un'altra, il che è utile quando una decisione dipende da una seconda condizione. L'esempio seguente mostra un'istruzione if annidata in Python che calcola la naveping Il costo varia in base al paese e all'importo totale dell'ordine.
total = 100
# country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("Shipping Cost is $50")
elif total <= 100:
print("Shipping Cost is $25")
elif total <= 150:
print("Shipping Cost is $5")
else:
print("FREE")
if country == "AU":
if total <= 50:
print("Shipping Cost is $100")
else:
print("FREE")
Rimuovi il commento dalla riga 2 del codice qui sopra, commenta la riga 3 ed esegui nuovamente il codice per vedere come cambia l'output per un paese diverso.
Cambia la dichiarazione del caso in Python
Che cos'è un'istruzione Switch?
Un'istruzione switch è un'istruzione di diramazione a più vie che confronta il valore di una variabile con i valori specificati nelle istruzioni case. Per molti anni, l' Python il linguaggio non aveva un'istruzione switch, quindi gli sviluppatori hanno implementato lo stesso comportamento con Python dizionario carta geograficaping.
Esempio di utilizzo della mappa dizionarioping:
def switch_example(argument):
switcher = {
0: "This is Case Zero",
1: "This is Case One",
2: "This is Case Two",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
Custodia per interruttore con abbinamento (Python 3.10 e Later)
Dal Python 3.10 (pubblicato nell'ottobre 2021), Python fornisce un nativo custodia per fiammiferi dichiarazione, nota come corrispondenza di pattern strutturali. Offre un'alternativa pulita e leggibile alle lunghe catene elif e all'approccio del dizionario mostrato sopra.
def switch_example(argument):
match argument:
case 0:
return "This is Case Zero"
case 1:
return "This is Case One"
case 2:
return "This is Case Two"
case _:
return "nothing"
if __name__ == "__main__":
print(switch_example(1))
Il carattere di sottolineatura (_) funge da caso predefinito, corrispondendo a qualsiasi valore non gestito dai casi precedenti, proprio come il valore predefinito in una tradizionale istruzione switch.
if vs elif vs else: confronto rapido
Utilizza questo confronto per decidere quale struttura condizionale si adatta meglio alla tua logica decisionale.
| dichiarazione | Missione | Quando usare |
|---|---|---|
| if | Esegue un blocco quando una condizione è vera | Una singola decisione sì/no |
| se…altrimenti | Fornisce un'alternativa quando la condizione è falsa | Due risultati mutuamente esclusivi |
| Elif | Verifica le condizioni aggiuntive in sequenza | Tre o più possibilità |
| Annidato se | Inserisce un if all'interno di un altro if | Una decisione che dipende da una seconda condizione |
| Ternario | Riduce la struttura if-else in una sola riga. | Assegnazione semplice dei valori |
| custodia per fiammiferi | Confronta un valore con numerosi modelli | Ramificazione multipla (Python 3.10 +) |







