STRUTTURE DI CODICE
LINEE DI CODICE
Prima di parlare di “strutture condizionali cicli e range in Python” parliamo di strutture di codice.
La linea fisica è la linea di codice che scriviamo. La linea logica è quella che Python assembla a partire da un certo numero di linee fisiche per poi generare un’unica istruzione. Vediamo un esempio.
Il semplice programma riportato fa uso di due linee di codice e un commento che non fa parte di esse. Quando Python esegue il programma trasforma le due linee di codice in due linee logiche, quindi in questo caso il rapporto è 1:1.
In questo caso ci sono quattro linee fisiche in quanto il sorgente viene scritto su quattro linee fisiche distinte che Python assembla su due linee logiche, ricompone la stringa su un’unica riga, prima istruzione logica, e infine l’istruzione print, seconda istruzione logica.
Python quando esegue il programma assembla le due linee fisiche che definiscono la tupla in una linea logica, più una linea logica per l’istruzione print, in tutto tre linee fisiche e due linee logiche.
STRUTTURE CONDIZIONALI CICLI E RANGE IN PYTHON – BLOCCHI DI CODICE
Rappresentano una struttura di codice. I blocchi di codice possono essere nidificati per creare una struttura gerarchica. Python, a differenza di altri linguaggi come Java, C# che usano le parentesi graffe per determinare l’inizio e la fine di un blocco, usa l’indentazione, normalmente quattro spazi a destra rispetto le istruzioni superiori per delimitare un blocco di codice.
STRUTTURE CONDIZIONALI CICLI E RANGE IN PYTHON – GLI STATEMENT
Una linea fisica di codice normalmente è costituita da una singola istruzione detta anche Statement.
In questo esempio il primo Statement è un’assegnazione, il secondo è una chiamata a funzione. È anche possibile inserire più Statement su una riga, questi andranno separati con il carattere;(punto e virgola)
STRUTTURE CONDIZIONALI CICLI E RANGE IN PYTHON – STATEMENT SEMPLICI E COMPOSTI
s=”Python” Statement semplice
STATEMENT COMPOSTO
ESEMPIO DI CODICE STATEMENT COMPOSTO
LO STATEMNT IF
Lo Statement if viene utilizzato per intraprendere una serie di azioni differenti in base a dei test Booleani del tipo Vero o Falso. Quando un’ espressione viene valutata True viene eseguita la suite di istruzioni relative a quel blocco. Le espressioni potrebbero anche essere tutte False, inoltre è facoltativo, e se presente, deve essere unica l’istruzione else mentre le istruzioni elif possono essere zero, una o più di una, questo in base alle necessità.
def Statement(): #PRIMO ESEMPIO x=8 if x<10: #Si legge "se x minore di 10 #allora stampa a video Minore di 10" print("Minore di 10") #SECONDO ESEMPIO x=10 if x<10:#Si legge:Se x<10 (test booleano) allora stampa Minore di 10 #else (altrimenti stampa >=10) print("Minore di 10") else: print("Maggiore o uguale a 10") #TERZO ESEMPIO x=6 if x<5: #se x<5 print("< di 5") elif (x>=5 and x<=10):# altrimenti se x compreso tra 5 e 10 print(">=5 e <= a 10") else: #altrimenti in tutti gli altri casi > di 10 print("> di 10") Statement()
LO STATEMENT WHILE
Se l’espressione viene valutata subito False non si entra nel Loop, viceversa se l’espressione è True si entra nella suite del Loop tante volte finché la condizione risulta essere vera. In tutti i casi se presenta la clausola else, questa viene sempre eseguita anche se l’espressione ha come valore iniziale di test False.
def While(): #PRIMO ESEMPIO x=0 while(x<3):#sino a che x<3 esegui la suite di while print(x) x+=1 #Incremento x per chiudere il Loop #e non ciclare all'infinito #stamperà 0,1,2 else: print("Codice ramo else sempre eseguito.") #SECONDO ESEMPIO #Ci sono molti casi in cui non sappiamo a priori quante #volte deve essere eseguito un loop. Ad esempio: while True:#LOOP INFINITO x=input("Inserire una stringa: ") if x=='stop': break #LO STATEMENT BREAK INTERROMPE IMMEDIATAMENTE IL LOOP print(x) #TERZO ESEMPIO while True:#LOOP INFINITO x=input("Inserire una stringa: ") if x=='stop': break #LO STATEMENT BREAK INTERROMPE IMMEDIATAMENTE IL LOOP if x <'b': continue #CONTINUE NON INTERROMPE IL LOOP MA SI #RITORNA IN TESTA AL LOOP STESSO print(x) While()
LO STATEMENT FOR
def For(): #PRIMO ESEMPIO myList = [3,4,5,6,7,8] for x in myList: print(x) else: print("Ramo else sempre esguito.") #SECONDO ESEMPIO myString = "Hello" for x in myString: print(x) #TERZO ESEMPIO myDict = {"a":1,"b":2,"c":3} for x in myDict: print(x)#STAMPA LE CHIAVI for x in myDict.values(): print(x)#STAMPA I VALORI for x in myDict.items(): print(x)#STAMPA CHIAVI E VALORI #LE PAROLE CHIAVE BREAK E CONTINUE FUNZIONANO ALLO STESSO #MODO VISTO NEL CICLO WHILE For()
LA FUNZIONE RANGE
Nelle “Strutture condizionali cicli e range in Python” la funzione range assume un aspetto importante. Quando viene chiamata restituisce un oggetto iterabile che contiene una sequenza di numeri progressivi. I tre parametri sono simili ai parametri di uno slice che abbiamo già visto. Stop è obbligatorio start e step sono facoltativi. Start se non indicato vale zero, e step di default vale uno se non indicato esplicitamente. Il parametro Stop è escluso come limite superiore per questo motivo 16 non viene stampato. In conclusione nella funzione range i parametri Start e Step sono facoltativi mentre Stop è obbligatorio.
def Range(): #Scrivere un algoritmo utilizzando un ciclo for #e la funzione range compresa tra 10 e 50 che #aggiunge ad una lista #i numeri dispari compresi tra 10 e 40. lista=[] for x in range(10,50): if (x % 2 > 0) and (x < 40): lista.append(x) print(lista) Range()
Lascia un commento