Imparare Python – Lezione 5

Benvenuti nella nostra Quinta Lezione su come imparare Python.

Oggi impariamo le Istruzioni IF, ELIF e ELSE.

Come sempre apriamo una Finestra della IDLE di Python da File>New Window.

A cosa ci servono queste Istruzioni?

Servono a dare un semplice ragionamento al Computer, precisamente sarebbe che ognuna di queste tre istruzioni servono a qualcosa di specifico ma per essere usate devono rispettare certi parametri che diamo noi, come sempre faccio un piccolo esempio:

a=raw_input(“dimmi la password:”)

if a==”ciao”:

print “Benvenuto!”

else:

print “Password errata!”

Cosa abbiamo scritto? all’inizio abbiamo fatto in modo che dentro la variabile “a” ci sia l’istruzione raw_input che a sua volta da la domanda “dimmi la password” che appunto ci serve per far capire cosa vogliamo noi dal “Consumatore”, dopo diamo l’istruzione if, che appunto significa se, cercate di seguirmi, perché questa istruzione non la spiegerò bene, ma lo farò alla fine di questo esempio, if che significa se, dice che, se la variabile “a” e uguale alla parola “ciao”(per far in modo che il Python capisca che vogliamo che sia uguale dobbiamo mettere 2 segni uguali per non confondersi con altro), allora scrivi “Benvenuto!”, come vedete sembra difficile ma se la leggete come la legge Python, tutto sembra giusto; perché abbiamo messo i 2 puntini? perché è come un segno che dice che il “se” è finito, cioè come se il ragionamento di a==”ciao” sia finito, praticamente è cosi, se “a” è uguale a ciao (qui ci sono i : ) allora esegui queste istruzioni, appunto viene indentato cioè che c’è una rientranza, appunto sta a significare che quell’operazione e solo di quell’istruzione, infatti se “a” è uguale a ciao allora scrivi “Benvenuto!”, else significa altrimenti, come vedete qui non c’è nessun tipo di ragionamento complicato cioè non chiede una qualche rasomiglianza o altro, proprio perché non ne ha bisogno infatti se la variabile “a” non combacia con ciao cioè non va ad eseguire l’istruzione if, essendo che noi volevamo solo che fosse giusto  è non vogliamo chiedere altro mettiamo l’istruzione else per dire che se if non funziona allora direttamente vai su else e scrivi “Password errata!” senza nessun tipo di compomissione infatti si va a chiudere direttamente con i 2 puntini, cioè, in parole povere o fatto in modo che dentro la variabile “a” ci sia scritto dentro quacosa grazie all’istruzione raw_input, “se” a è uguale alla parola ciao allora scrivi Benvenuto! altrimenti scrivi Password errata!, come vedete non è tanto difficile, anche se forse ho fatto un po di confusione.

Ora lo riscrivo per la versione 3 di Python tanto per non fare confusione:

a=input(“dimmi la password:”)

if a==”ciao”:

print (“Benvenuto!”)

else:

print (“Password errata!”)

Come vedete non cambia quasi niente, cioè praticamente dovete lasciare tutto cosi, infatti non c’è niente di nuovo oltre a quello che abbiamo già imparato.

Se avete già iniziato a scrivere un Codice del genere ma vi ritrovate fino a print “Benvenuto!” perché rimanete sempre sospesi nell’istruzione if, allora basta che quando premete invio per andare avanti usiate dopo il tasto Del, quello che quasi sempre sta sopra il stato Invio(avvolte chiamato Start, OK), cosi vi riporta alla linea originale del Codice.

Come avete visto per dare il senso uguale si usano 2 segni uguale e non uno, se vogliamo invece mettere il segno di diverso, allora dobbiamo scrivere: !=, cioè il segno di esclamazione più il segno uguale, questi segni insieme significano il segno diverso, possiamo anche mettere il segno < o il segno > che in matematica significano maggiore e minore che appunto possono essere usati magari per dei numeri,(i segni < e > possono essere usati anche nelle operazioni matematiche) esempio:

x=input(“dammi un numero che sia più piccolo di 9:”)

if x<9:

print “Bravo, il numero”, x, “è minore a 9”

else:

print “Mi dispiace ma”, x, “non è minore di 9”

Come vedete si può usare anche questo segno, potete anche usare il segno <= o >=, esempio:

x=input(“dammi un numero che sia uguale o più piccolo di 9:”)

if x<=9:

print “Bravo, il numero”, x, “è minore o uguale a 9”

else:

print “Mi dispiace ma”, x, ” non è uguale o minore di 9″

Ora, quando vogliamo aggiungere più di un if si utilizza l’istruzione elif, questa istruzione non a una vera e propria traduzione, praticamente sarebbe un else if, cioè un oppure if, come per dire se non funziona if allora utilizza elif, facciamo un esempio sugli ultimi 2 esempi che abbiamo fatto, essendo che si possono migliorare:

x=input(“dammi un numero che sia più piccolo di 9:”)

if x<9:

print “Bravo, il numero”, x, “non è minore di 9”

elif x>9:

print “mi dispiace ma”, x, “è maggiore di 9”

else:

print “mi dispiace ma”, x, “è uguale a 9”

Come vedete elif a praticamente le stesse proprietà di if, cioè che anche elif deve avere un suo ragionamento, invece se guardare il print di else, c’è scritto mi dispiace ma x è uguale a 9, come mai ho scritto x uguale a 9 quando non gli ho detto che x deve essere uguale a 9? perché se non è ne maggiore, ne minore, allora è sicuramente uguale.

Per Oggi ci fermiami qui, ci vediamo alla prossima Lezione, vi ricordo che per ogni problema potete scrivere nei Commenti o nel Forum.

4 thoughts on “Imparare Python – Lezione 5

  1. ho privato in vari modi, togliendo le parentesi, le virgolette in tutte le combinazioni, ma la terza riga mi da semprre errore. uso python 2.6.6 ubuntu

    a = raw_input(“dimmi la password:”)
    if a==(“ciao”):
    print (“benvenuto”)
    else:
    print (“Password errata!”)
    mi da:
    File “passw.py”, line 3
    print (“benvenuto”)
    ^
    suggerimenti?

  2. ho riprovato e ho risolto. la terza riga (quella del print)
    se la faccio partire dall’inizio esattamente sotto if, mi da errore. se invece la faccio partire dando spazio( per intenderci sotto la a della seconda riga non mi da errore.
    è corretto il comportamento e me ne sai dare una motivazine ? grazie ciao

    1. non conoscendo il phyton non ne sono certo, ma molto probabilmente se hai fatto copia e incolla diretto da qui le viroglette (doppi apici) vengono decodificate con un carattere errato. Prova a riscrivere da 0 il codice e vedi.
      In teoria dovrebbe andare il codice che hai scritto.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *