Author: - Post Category: Corso Python, Risorse ITA - Date:March 18, 2020

ūüáģūüáĻ ITA | Corso Python 3 – Le basi / 2020

In Italiano

Corso Python per principianti in Italiano. Il corso ha l’obbiettivo di insergare le basi della programmazione in python.

Categories: Corso Python and Risorse ITA. Tags: python and tutorial.
Corso Python Ita - Banner

ūüźćCon questo corso imparerai le nozioni base del linguaggio Python.

Non occorre avere precedente esperienza di programmazione ma soltanto una connessione internet e un computer, windows, mac o linux.

ūüĎĆQuesto e-learning gratuito e’ sicuramente per te se sei un’odierno smanettone o sogni di diventare un nerd nel futuro e durante questa quarantena hai la fortuna di restare a casa tutto il giorno non essendo infermiere, corriere, operaio, poliziotto, ecc, ecc..

‚ě°ÔłŹNella prima parte del corso installeremo un Visual Studio Code, un ambiente di sviluppo che integra al suo interno vari strumenti usati dagli sviluppatori come ad esempio un editor di testo, la riga di comando e altri strumenti per supportare la scrittura ed il debug del codice.

Poi installeremo Python e inizieremo a studiare il linguaggio a partire dalle basi.

ūü§ďIo che ti guido alla scoperta del “Pitone” mi chiamo Fabio, sono un full-stack ethical developer, vivo e lavoro in Inghilterra ma torno virtualmente in Italia per esservi vicino come posso in questa tragedia del virus covid-19.

Perche’proprio Python?

Perch√©’ √© uno dei linguaggi di programmazione definiti general-purpose, cioe’ utilizzato sia per lo sviluppo di applicazioni e siti web, sia nel settore IT per automatizzare certe task ripetitive.

E’ uno dei linguaggi di spicco nel machine lerning e intelligenza artificiale. Ragione per cui, personalmente, mi sono avvicinato e appassionato a questo linguaggio di programmazione.

Inoltre, la sintassi (cioe’ tipo la grammatica nella lingua italiana) e’ molto semplice.

Playlist Corso Python Completo

Indice Corso Python | Le Basi

Time needed: 6 hours.

Corso Python per principianti diviso in sei (o forse piu’ video).
‚Ź≤Tempo stimato sei ore.

  1. L’ambiente di Sviluppo (Windows, Linux, Mac) # 1

    In questa fase installeremo visual studio code, alcune estensioni e Python nel computer.

  2. File Python e l’interprete – Video # 1

    Possiamo scrivere il codice Python in due modi, tramite file o nell’interprete. Vediamo come in questa fase.

  3. Le strutture dati di base in Python – Video # 1 # 2

    Qui impareremo quali sono le strutture di dati in Python e come usarle.

  4. Funzioni integrate nel linguaggio (Built-in) – Video #3

    Ci sono una vasta gamma di funzioni e metodi che Python ci offre di base senza dover installare moduli aggiuntivi. Le vedremo in questo capitolo.

  5. Strumenti di controllo del flusso – Video #4

    In questa sezione scopriremo come usare gli strumenti di controllo per prendere decisioni e eseguire codice a seconda del risultato di una o pi√ļ condizioni prestabilite.

  6. Definire Funzioni – Video #5

    Qui scopriremo come creare e usare una funzione, perché e quali sono i vantaggi.

  7. Moduli e Libreria Standard di Python – Video #6

    Come estendere Python usando i moduli della libreria standard del linguaggio. Useremo alcuni moduli in questa sezione per familiarizzare con il loro utilizzo.

Corso Python – Parte #1

Episodio #1 Corso Python – Le Basi / 2020 – Strutture dati di base

Tipi di strutture dati di base

Ci sono alcuni tipi di strutture di dati di base in Python come in altri linguaggi di programmazione.

Questi sono:

  • Stringe (strings) – semplice testo
  • Numeri (numbers) – tutti i tipi di numeri, interi, decimali e/o negativi.
  • Valori Boolean – Vero o Falso.
  • Variabili – parole usate per salvare al loro interno vari tipi di dati.
  • Liste (lists) – sequenze di elementi mutabili di vario tipo.
  • Dizionari – sequenze di elementi composti da chiave descrittiva e valore.
  • Tuples – sequenze di elementi non mutabili.

Queste tipi di strutture di base vengono usate per creare programmi nel linguaggio Python.

Stringhe

In Python come in altri linguaggi di programmazione, il semplice testo viene chiamato stringa.

Una stringa e’ per Python una sequenza di caratteri.

Si definisce una stringa mettendo il testo all’interno dei caratteri di quota, in Inglese “quotation marks”.


Una stringa di testo puo’ essere scritta in quote singole o doppie. Oppure occupare piu’ righe se scritta in quote triple.

'Corso Python per principianti'
"Corso Python per principianti"

""" 
Corso 
Python per principianti
"""

Numeri

Un’ altra struttura di base sono i numeri. Possiamo effettuare semplici operazioni matematiche o utilizzare i numeri per risolvere equazioni piu’ complesse.

 
Possiamo sommare numeri con l’operatore +

Sottrarre con il -Dividere con il / 

Moltiplicare con *

Ma possiamo anche calcolare l’esponente di un numero usando**

5+5 # 10
5-3 # 2
3*2 # 6
2**2 # 4
6/2 # 3

I numeri senza punti decimali sono definiti “integer” mentre quando un numero ha i decimali e’ chimato “float” (floating point number).

6/2 # il risultato e' 3 (integer)
6/4 # il risultato e' 1.5 (float)

Oltre alle classiche operazioni ci sono gli operatori divisione floor // 

E il modulo %


Il primo da come risultato soltanto il numero intero di un numero decimale.Il secondo la rimanenza di una sottrazione.

6//5 # 1 
6%4 # 2

Come nell’aritmetica alcune operazioni hanno la precedenza su altre.

  1. (..) Le operazioni tra parentesi vengono eseguite prima. 
  2. ** esponente
  3. Moltiplicazione e divisione
  4. Modulo e divisione floor 
  5. Addizione e sottrazione
5+3 * 5  # il risultato e' 5*3 = 15 +5 = 20
(5+3) * 5  # 5+3 = 8*5 = 40
5+5 * 5**2  # 5**2 = 25 *5 = 125 +5 = 130

Boolean

Un’altro componente di base sono i dati boolean che equivalgono a vero e falso.

Possiamo definire un valore boolean assegnando True o False ad una variablie.

is_sick = False
is_2020 = True

I valori boolean ci torneranno utili quando inizieremo a studiare gli strumenti di controllo del flusso, le funzioni e gli oggetti.

Variabili

Le variabili sono dei nomi a cui assegniamo dei valori che vogliamo riutilizzare successivamente nel nostro programma.
Ad esempio possiamo definire una variabile “nome” a cui assegnare il valore “Fabio” che in questo caso e’ una stringa.

Ma le variabili possono contenere ogni tipo di dato.
Definiamo una variabile utilizzando il segno uguale ‘=’  (the assignment operator).

name = "Fabio"
age = 40
job = "Full Stack Developer"
is_married = True

Una variabile puo’ iniziare con una lettera ma non un numero ed e’ “case sensitive” cioe’ significa che cambia in base a se scritta con lettere minuscole o maiuscole.

In questo caso le variabili come _nome, eta’, professione, sposato_ contengono un valore ciascuna.

La variabile “nome” contiene la stringa Fabio.

La variabile “eta” contiene il numero 40.

La variabile “professione” contiene la striga Full stack developer.

E infine la variabile “sposato” contiene il valore Boolean True (vero).

Prima di proseguire con le altre strutture di dati, vediamo come poter utilizzare quello che abbiamo imparato fin’ora per scrivere un programma di base.


Possiamo visualizzare Stringe, Numeri, Boolean e Variabili utilizzando la funzione print() fornita dal linguaggio Python. 

Vedremo cosa sono le funzioni in seguito, per il momento ci limiteremo ad utilizzarne alcune.


Per utilizzare le stringe e numeri che abbiamo in precedenza salvato all’interno delle variabili _nome, eta, professione, sposato_ possiamo scrivere la seguente frase.

print(nome + " ha " + str(eta) + " anni e di professione fa il " + professione)

Nel precedente esempio abbiamo introdotto una nuova funzione e abbiamo concatenato variabili e stringe utilizzando il segno +


Possiamo concatenare solo stringe di testo in questo modo, quindi abbiamo utilizzato la funzione Python str() per convertire la variabile eta da numero (integer) a stringa (string).
Se proviamo a concatenare anche l’ultima variabile _sposato_ senza convertirla otterremo un TypeError. 

print(nome + " ha " + str(eta) + " anni e di professione fa il " +  professione + sposato)

TypeError: must be str, not bool

Per evitare l’errore utilizziamo la funzione str() sulla variabile _sposato_

Il valore Boolean viene utilizzato insieme agli strumenti del controllo del flusso per far funzionare il nostro programma in un modo o in un altro a seconda di una certa condizione.

is_married = True
if is_married:
    print(name + " e' sposato.")
else:
    print(name + " deve sposarsi.")

Vedremo nel dettaglio gli strumenti di controllo dopo, ora proseguiamo con le strutture di base del linguaggio.

Corso Python – Parte #2

Corso Python 3 – Le Basi | Parte #2

Liste (Lists):

Una lista e’ una sequenza di elementi. Una lista puo’ contenere diversi elementi dello stesso tipo o di tipo diverso.

Solitamente una lista e’ composta da elementi dello stesso tipo come stringhe, numero, altre liste o altri tipi di strutture che impareremo a breve come i Tuples e Dizionari.

numeri = [10, 20, 33, 45, 12]
nomi = ["Fabio", "Serena", "Mario", "Luigi", "Elisa"]
print(nomi)

Nel primo esempio abbiamo creato una lista di numeri e l’abbiamo assegnata alla variabile “numeri” cosi’ possiamo usarla dopo.

Nel secondo caso una lista di nomi e l’abbiamo assegnata alla variabile nomi.
Le liste sono sequenze di elementi e sono mutabili (possiamo cambiare i suoi elementi).
Per definire una lista includiamo gli elementi in parentesi quadre e li separiamo con una virgola.
Possiamo effettuare varie operazioni su una lista.

  1. Indexing (trovare la posizione di un elemento)
  2. Slicing (dividere una lista e ottenerne una copia)
  3. Estenderla con un’altra lista
  4. Cambiare il valore di un elemento al suo interno
  5. Aggiungere nuovi elementi o rimuoverne.
print(nomi[2:])  # slice
print(nomi[:2])  # slice
print(nomi + numeri)  # extend
nomi[3:5] = ["Carlo", "Elia", "Marco"]  # replace
print(nomi)
print(nomi[3:5])  # remove elements
nomi[:] = []  # clear the list
print(nomi)

Ci sono una serie di funzioni di base fornite dal linguaggio stesso che possiamo utilizzare per ogni tipo di dato. Mentre altre sono specifiche, relative al tipo di oggetto in questione.


La funzione len() ad esempio e’ una funzione generica che possiamo usare su vari tipi di strutture di dati come stringhe e liste.

Mentre la funzione append() e’ specifica delle liste.
Per aggiungere un elemento alla lista possiamo usare .append

nomi.append("Jon")
print(nomi)

La funzione generica len() e’ usata per calcolare la lunghezza di una sequenza. In questo caso se applicata alla variabile nomi avremo come risultato 1 e se applicata alla variabile name il risultato sara’ 5.


Ci sono molte altre funzioni che possiamo usare sulle liste come ad esempio pop() che rimuove un elemento dalla fine della lista.

names.append("Jane")
print(names)
names.pop()
print(names)

Cosi’ come ci sono molte altre operazioni che possiamo effettuare sulle liste ma queste sono le informazioni basilari pensate per il corso.

Tuples

Ci solo altre due strutture di base in Python che sono Tuples e Dictionaries.

 
Un Tuple e’ un set di elementi immutabili mentre un Dizionario (Dictionary) e’ un set di elementi con chiave descrittiva e valore associato e sono mutabili.
Definiamo un Tuple scrivendo i valori tra parentesi e separandoli con una virgola.

user_loggedin_status = ("Fabio", True)
print(user_loggedin_status)

name, surname, age, status = ("Fabio", "Pacifici", 40, True)
print(name, surname, age, status)

Possiamo assegnare un tuple ad una singola variabile o a molteplici variabili che rappresentano ciascuno dei valori del Tuple.
Un Tuple ha due funzioni di base fornite dal linguaggio Index(value) e Count(value) che rispettivamente trovano l’indice di un valore e contano il numero di volte che un elemento e’ contenuto nel Tuple.

print(user_loggedin_status.index(True))  # returns 1
print(user_loggedin_status.count("Fabio"))  # returns 1

Dizionari

Come le parole nel dizionario, un dizionario e’ una delle strutture dati in Python e si differenzia dagli altri per via della sua struttura composta da una chiave (la parola del dizionario) e un valore (la definizione della parola nel dizionario).


Per definire un dizionario utilizziamo le parentesi graffe e separiamo la chiave dal valore con i due punti.

Un dizionario contiene vari elementi ed ognuno e’ separato da una virgola.

user = {

    "username": "Fabio",
    "age": 40,
    "profession": "Developer"

}

print(user)

A sinistra c’e’ la chiave ( “key” in Inglese) mentre a destra il valore (o “value”). 
Possiamo accedere al valore di un elemento usando la variabile che contiene il dizionario seguita dalla chiave contenuta in parentesi quadre.

print(user["username"])
print(user["age"])

Possiamo aggiungere, assegnare nuovi valori ad ogni elemento del nostro dizionario e possiamo rimuoverli.

Possiamo anche verificare se una specifica chiave e’ presente all’interno del nostro dizionario usando la parola chiave  “in”

# Creare un dizionario    
prefix = {'Italy' : 0039, 'UK':0044, 'Netherland': 0040}

# aggiungere elementi
prefix['Germany'] = 0042

# cambiare valori
prefix['Germany'] = 0043

# rimuovere valori
del prefix['Germany']

# Verificare se una chiave é nel dizionario
print("Italy" in prefix)

Come abbiamo visto nel primo esempio, definiamo il nostro dizionario (dictionary) assegnando un valore a delle chiavi. 
Poi possiamo aggiungere un elemento usando le parentesi quadre e scrivendo al loro interno la chiave che vogliamo aggiungere seguita del segno uguale e dal valore.
Se la chiave esiste gi√° con la stessa sintassi possiamo aggiornare il suo valore ed assegnarne un altro.


Usiamo nell’esempio successivo la parola chiave “del” seguita dalla variabile che contiene il dizionario e tra parentesi quadre la chiave che vogliamo cancellare.
Infine possiamo verificare se una chiave √© presente nel dizionario usando la parola chiave “in” preceduta dalla chiave; e successivamente alla parola chiave la variabile che contiene il dizionario.

Funzioni del Dizionario:

Ci sono una serie di funzioni di base che sono disponibili per la struttura dati del Dizionario. 


In visual studio code, se fate seguire al dizionario un punto noterete che verranno elencati in un menu’ una serie di opzioni tra cui scegliere.
Tra queste, pop(), update(), setdefault(), clear(), get(), copy(). Ma ce ne sono altre e potrete consultare la documentazione Python successivamente per saperne di pi√ļ.

Rimuovere un elemento del diz con pop():

Il metodo pop() rimuove un elemento dal dizionario specificando la chiave da rimuovere.

prefix.pop("UK")
print(prefix)

Clear rimuove tutti gli elementi dal dizionario:

prefix.clear()
print(prefix)

Il metodo setdetault():

Assegna un valore di base ad una nuova chiave che aggiunge al dizionario. Se la chiave non esiste la aggiunge. Mentre se invece esiste, quando eseguiamo il codice otteniamo il dizionario con il valore assegnato di base in precedenza.
Nel precedente esempio abbiamo cancellato tutti i valori del dizionario usando il metodo clear. 

Ora usiamo il metodo “setdefault” per creare un nuovo elemento.

prefix.setdefault("Spain", 38)
print(prefix)

Eseguendo il codice possiamo notare che la nostra nuova chiave “Spain” √© stata inserita nel dizionario con il valore di default che √© 38.

prefix.setdefault("Spain")
print(prefix)

Fin’ora avete gi√° imparato molto, bravi! 

Tuttavia, abbiamo appena iniziato a scalfire la superficie delle strutture dati e cosa possiamo farci. Lo approfondiremo nei prossimi episodi. 

Per concludere questo capitolo:

C’√© un altra funzione fornita dal linguaggio che voglio mostrarvi, √© la funzione type().

Usando questo metodo possiamo determinare il tipo di struttura dati che abbiamo davanti. 

name = "Fabio"
print(type("Fabio"))
print(type(name))

Possiamo usarla con ciascuno tipo di dato che abbiamo studiato fin’ora. 

# numeri:
number = 9
print(type(number))

# valori boolean:

is_monday = False
print(type(is_monday))

# Liste:
countries = ["Italy", "Spain", "Netherlands", "UK"]
print(type(countries))

# Dizionari:
user_ranks = {"Fabio": 100, "Serena":100, "Luigi": 90, "Stefano": 70, "Moreno": 95}
print(type(user_ranks))

Per concludere, prima di passare al capitolo successivo dove vedremo cos’e’ una funzione e come crearla..

Vediamo ora cosa sono le comparazioni e a cosa servono.


In Python e in molti altri linguaggi di programmazione, cosi’ come nella matematica, abbiamo la possibilit√° di confrontare due valori.

  1. maggiore di >
  2. minore di <
  3. uguale a == 
  4. diverso da !=
  5. minore o uguale <=
  6. maggiore o uguale >=

L’utilizzo di questi operatori, da come risultato un valore Boolean Vero o Falso.

Avviamo il nostro interprete Python e vediamo come funziona.

10 > 1 # True (Vero)
1 < 10 # True (Vero)
10 < 1 # False
1 > 10 # False

3 == 6 # False
3 != 6 # True

20 >= 19 # True
8 <= 30 # True

Questo ci torner√° particolarmente utile successivamente con gli strumenti di controllo del flusso di codice nel quale a seconda di un certo risultato il nostro programma eseguir√° un azione piuttosto che un’altra.

Possiamo eseguire dei controlli su pi√ļ condizioni usandogli operatori “and” “or” e “not” (e, o, non).

Vi lascio un’anteprima di come utilizzarli:

work_age = 18
age = 18
pension_age = 75
name = "Mario"

if age <= work_age:
    print(name + " ha " + str(age) + " anni e deve studiare")
elif age > work_age and not age >= pension_age:
    years_to_retirement = pension_age - age
    print(name + " ha " + str(age) +
          " anni e lavora. L'eta pensionistica é di " + str(pension_age) + ". Gli mancano " + str(years_to_retirement) + " anni alla pensione.")
elif age > work_age and age >= pension_age:
    print(name + " é in pensione.")

Se siete arrivati fin qui, complimenti!

Abbiamo gi√° imparato molte cose e nei video successivi impareremo molto altro.

Fermatevi un po, riguardate questo episodio e quello precedente per essere sicuri di aver capito tutto e soprattutto completate questi 5 esercizi.

Istruzioni Esercizi di Fine Episodio #2

  1. Scrivete una lista che contiene al suo interno una serie di numeri a caso e salvatela nella variabile “i miei numeri”. 
  2. Scrivete un dizionario che contiene al suo interno i nomi di amici o  familiari come chiavi e la loro et√° come valori e salvatela nella variabile “famiglia”.
  3. Scrivete una variabile chiamata nome ed assegnategli il vostro nome.
  4. Effettuate le seguenti operazioni matematiche nell’interprete:
    1. Moltiplicate 10 per 50 dividete il risultato per 5 e aggiungete 3 al risultato.
    2. Sommate 4, 9, 399 moltiplicate il risultato per 10 e dividete per 4
    3. quanto f√° 10 alla sesta?
    4. E’ 99 maggiore di 4 ?
    5. Qual’ √© il risultato della seguente operazione 9%3? e di 9//3?
    6. Usate la funzione print() per stampare:
    1. la variabile nome
    2. la variabile i miei numeri
    3. la variabile famiglia
    4. il risultato di ogni operazione dell’esercizio 4.

Se avete qualche difficolt√°, riguardatevi le puntate e scrivetemi nei commenti del video cosi’ vi aiuto.

Ricordate che: 


1.Una stringa √© semplice testo tra quote singole o doppie.    
2.Un numero si scrive senza quote.    
3.Una variabile √© una parola a cui assegniamo un valore usando il simbolo uguale.   
4.Una lista si scrive tra parentesi quadre e gli elementi sono separati da virgole.
5.Un dizionario si scrive tra parentesi graffe, la chiave e il valore sono separati dai due punti e ogni elemento da una virgola.

Corso Python – Parte #3

In questo episodio #3 inizieremo a studiare le funzioni integrate nel linguaggio. Nel precedente video vi avevo chiesto di completare a casa 5 esercizi che orafaremo insieme.

Esercizi:

# 1:
i_miei_numeri = [10, 9, 5, 4,1]

# 2:
famiglia = {"Serena": 38, "Fabio":40, "Marco:"48", "Giovanni":44}

# 3:
nome = "Fabio"

# 4:
    - moltiplicate 10 per 50 dividete il risultato per 5 e aggiungete 3 al risultato.
    ```
    10*5/5+3
    ```
    - sommate 4, 9, 399 moltiplicate il risultato per 10 e dividete per 4
    ```
    (4+9+399) * 10 / 4
    ```
    - quanto f√° 10 alla sesta?
    10**6
    - é 99 maggiore di 4
    99 > 4
    - quale é il risultato della seguente operazione 9%3? e 9//3?
    9%3
    9//3
#5:
    print(i_miei_numeri)
    print(famiglia)
    print(name)
    print(10*5/5+3)
    print((4+9+399) * 10 / 4)
    print(10**6)
    print(99 > 4)
    print(9%3, 9//3)

Ok, perfetto! non era difficile. Ora passiamo alle funzioni fornite di base dal linguaggio Python, chiamate built-in functions.

Alcune funzione le abbiamo gi√° viste nei due video precedenti, tipostr(), len(), print(), type(). 

la prima funzione che vedremo √© quella che finora abbiamo usato di pi√ļall’interno del nostro file python. La funzione print() ci permette divisualizzare i valori che otteniamo dal nostro programma scritto in python.

La funzione print():

print("Fabio") # il risultato é la stringa di testo Fabio
print(40) # il numero 40
print(4>1) # il risultato della condizione 4 maggiore di 1
print(5*5) # il risultato dell'opearazione 5*5 

La funzione print √© essenziale per visualizzare i rusultati delnostro programma. Molte delle funzioni che vedremo a breve le useremo in combinazione con questa.
Alla funzione print() possiamo passare pi√ļ elementi, il risultato verra separato da uno spazio.print(a,b,c)

La funzione type(): 

Grazie alla funzione type() possiamo ottenere informazioni sul tipo di struttura di dati che abbiamo e verificarne l’attuale conversione.

print(type(40)) # int
print(type(40.5)) # float
print(type("Fabio")) # str
print(type(4>1)) # bool
print(type([1,4,5])) # list
print(type({"Fabio": "castano", "Sere":"bionda"})) # dict

La funzione str():

la funzione str() converte differenti tipi di struttura dati in una striga.

str(40) # concerte il numero integer 40 in stringa
str(4>1) # converte il risultato della condizione in stringa
str([1,5,6]) # converte la lista [1,5,6] in stringa.
str({"Fabio": "castano", "Sere":"bionda"})  # converte il dizionario in stringa 

Ma solo usandola in combinazione con print() possiamo vederne il risultato.

print(str(40))
print(str(4>1))
print(str([1,5,6]))
print(str({"Fabio": 40, "Sere":38}))

usandola in combinazione anche con la funzione type possiamo vedere il tipodati cambia in stringa.

print(type(40), type(str(40))) # int, str
print(type(40.5), type(str(40.5))) # float, str

print(type(4>1), type(str(40>1))) # bool, str
print(type([1,4,5]), type(str([1,4,5]))) # list, str
print(type({"Fabio": 40, "Sere":38}), type(str({"Fabio": 40, "Sere":38}))) # dict, str

Come la funzione str, ci sono funzioni similari per ciascuno dei tipi di dato che abbiamo studiato. che fanno esattamente la stessa cosaconvertono un tipo di dati in un’atro.

int(), float(), list(), dict(), tuple().

La funzione help():

Per saperne di pi√ļ su una determinata funzione possiamo invocarela sua documentazione utilizzando la funzione help().

help(str)
help(int)
help(float)
help(list)
help(dict)
help(tuple)

Ciascuna di queste aprir√° nel terminale la documentazione specificadella funzione. possiamo uscire dalla documentazione premendo il tasto “q”

La funzione len():

len ci permette di ottenere un valore numerico che indica gli elementidi una sequenza. Possiamo usarlo su ciascun tipo di sequenza

print(len("Fabio")) # 5
print(len([1,3,5,6])) # 4
print(len({"Fabio": "Developer", "Serena":"Writer"})) # 2

La funzione input():

Tramite la funzione input() possiamo rendere il nostro programma interattivoed interaggire con l’utente. Questa funzione attende che l’utente inserisca un valore e poi proseguecon l’esecuzione del nostro programma. 

input("Inserisci il tuo nome.. ")

la funzione input √© molto utile, se salviamo il suo risultato inuna variabile come possaimo usare il valore fornito dall’utentenel nostro programma.

nome = input("Inserisci il tuo nome.. ")
print("Ciao", nome+"!")

La funzione abs():

Questa funzione applicata ad un numero negativo da come risultato il valore assoluto, che √© sempre un numero positivo.

numero_negativo = -10
print(abs(numero_negativo))

La funzione sum():

Questa funzione ci permette di sommare tutti i numeri di una sequenza in modo progressivo.

print(sum([1, 4, 5, 6, 6]))print(sum(range(15)))

Nel primo esempio abbiamo passato alla funzione sum una sequenzadi numeri tramite una lista. 1+4+5+6+6 = 22
Nel secondo esempio abbiamo combinato la funzione sum con un’altrafunzione che vedremo pi√ļ avanti che √© la funzione range() che da come risultato un oggetto che contiene una sequenza di numeri interi.

Le funzioni max() e min():

print(max([1, 4, 5, 6, 7]))
print(min([1, 4, 5, 6, 7]))

Queste sono solo alcune delle funzioni di base, la lista completa la trovate nella documentazione python. Vi lasci il link nella descrizionedel video.

Lista Funzioni: https://docs.python.org/3/library/functions.html

E’¬†tutto¬†per¬†questo¬†episodio.¬†Prima¬†di¬†passare¬†al¬†video successivo, fate¬†pratica¬†con¬†le¬†funzioni¬†che¬†abbiamo¬†appena¬†studiato.
Se¬†vi¬†trovate¬†in¬†difficolt√°¬†o¬†non¬†avete¬†capito¬†qualcosa,¬†riguardate il¬†video¬†o¬†lasciate¬†un¬†commento¬†e¬†vi¬†rispondero’¬†come possibile.¬†
Mi¬†auguro¬†che¬†abbiate¬†trovato¬†questi¬†video¬†interessanti,¬†se¬†vi¬†sono piaciuti¬†mettete¬†un¬†like¬†cosi’¬†capisco¬†che¬†avete¬†apprezzato.

Nel prossimo video inizieremo ad usare gli strumenti di controllo del flusso.

Corso Python – Parte #4

Iniziamo¬†con¬†la¬†quarta¬†parte,¬†gli¬†strumenti¬†di¬†controllo cioe’:
il Loop While, il loop For, e il condizionale if/elif/else 

While Loop:

Il loop while é uno degli strumenti di controllo ed é molto efficace. Grazie ad esso possiamo sviluppare programmi complessi ed automatizzareoperazioni ripetitive.
Questo¬†strumento¬†utilizza¬†una¬†condizione¬†ed¬†esegue¬†il¬†codice¬†contenuto al¬†suo¬†interno¬†“finch√©”(while)¬†la¬†condizione¬†√©¬†Vera.
ad esempio

x = 0
while x < 10:
    print(x)
    x += 1

nell’esempio qui sopra abbiamo: 

  1. inizializzato la varabile x a cui abbiamo assegnato il valore 0
  2. avviato il loop scrivendo la parola chiave while    
  3. definito la nostra condizione x < 10    
  4. la riga finisce con i due punti “:”.   

All interno del corpo del nostro loop:

  1. il corpo del loop deve essere indentato a destra con lo stesso  numero di spazi o tab    
  2. scriviamo il codice che vogliamo eseguire    
  3. incrementiamo la variabile che abbiamo inizializzato

Il codice nel corpo del loop viene eseguito ciclicamente finche la condizione non cambia.

Al primo giro, la variabile che abbiamo inizializzato é 0 quindi minore di 10, pertanto stamperemo il numero 0. Poi incrementiamo la variabile di uno. 
Al giro successivo la variabile x é 1 che é ancora minore di 10,quindi stampiamo uno e incrementiamo la variabile di uno e cosi via.
finche’¬†la¬†variabile¬†non¬†diventa¬†10¬†che¬†non¬†√©¬†minore¬†di¬†10¬†pertanto il¬†loop¬†si¬†ferma¬†e¬†cosi¬†il¬†nostro¬†codice.¬†

x = 10
while x < 100:
    print(x)
    x += 10
else:
    print("End")

In¬†questo¬†esempio¬†invece¬†utilizziamo¬†un¬†altra¬†parola¬†chiave¬†“else”che¬†esegue¬†il¬†codice¬†contenuto¬†al¬†suo¬†interno¬†quando¬†la¬†nostra¬†condizione¬†diventa¬†falsa. Come¬†vedete¬†possiamo¬†incrementare¬†la¬†variabile¬†a¬†piacere.


!!Attenzione!! Bisogna¬†fare¬†attenzione¬†ad¬†inizializzare¬†la¬†nostra¬†variabile e¬†cambiare¬†il¬†suo¬†valore¬†all’interno¬†del¬†loop¬†per¬†evitare¬†un¬†loop¬†infinito.

x = 10
while x < 100:
    print(x)
 
else:
    print("End")

In¬†questo¬†caso¬†il¬†codice¬†all’interno¬†del¬†nostro¬†loop¬†verra’¬†eseguito all’infinito¬†poich√©¬†x¬†√©¬†sempre¬†10¬†e¬†la¬†nostra¬†condizione¬†non¬†diventa¬†mai falsa¬†e¬†quindi¬†anche¬†il¬†codice¬†all’interno¬†dell’else¬†statement non¬†viene¬†mai¬†eseguito.

For Loop:

Un’altro¬†strumento¬†di¬†controllo¬†√©¬†il¬†for¬†loop.¬†
Possiamo¬†usare¬†questo¬†strumento¬†con¬†i¬†tipi¬†di¬†dato¬†sequenziali¬†che¬†abbiamovisto¬†fin’ora,¬†come¬†le¬†stringe,¬†liste,¬†dizionari,¬†tuples o¬†usando ¬†la¬†funzione¬†range()¬†che¬†da¬†come¬†risultato¬†una¬†sequenza¬†di numeri¬†interi.

# con le stringe:
for lettera in "Fabio":
    print(lettera)
# Con le liste:
for numero in [10, 6, 6, 3, 6, 2, 2]:
    print(numero)
for x in range(10)
    print(x)
for nome in ["Fabio", "Serena", "Mario", "Luigi"]:
    print(nome)
# Con i Dizionari:
users = {"Fabio": 40, "Serena": 38, "Mario": 100, "Liugi": 100}

for name, age in users.items():
    print(name, age)

for name in users.keys():
    print(name)

for age in users.values():
    print(age)

Con i dizionari possiamo utilizzare due dei metodi specifici di questo tipo di dati per visualizzare, le chiavi, i valori o entrambe.

Anche con il for loop possiamo usare la parola chiave “else” cheeseguira il codice all’interno del suo corpo una volta che il loop ha completato la sequenza.

for name, age in users.items():
    print(name, age)
else:
    print("Finito")

if/elif/else statement:

Questo strumento viene usato moltissimo, anche in combinazione con i precedenti per verificare quando una certa condizione é vera o falsa ed eseguire un blocco di codice a seconda delle circostanze.
Questo¬†strumento¬†viene¬†definito¬†usando¬†la¬†parola¬†chiave¬†“if”¬†insieme alle¬†parole¬†chiave¬†“elif”¬†ed¬†“else”.
Le¬†parole¬†chiave¬†“if”¬†ed¬†“elif”¬†sono¬†seguite¬†da¬†una¬†condizione¬†da¬†verificare,¬†se¬†questa¬†√©¬†vera¬†allora¬†il¬†codice¬†al¬†suo¬†interno¬†viene¬†eseguito altrimenti¬†l’esecuzione¬†passa¬†al¬†blocco¬†successivo¬†se¬†presente,¬†l’elif. se¬†la¬†condizione¬†√©¬†falsa¬†il¬†codice¬†all’interno¬†della¬†parola¬†chiave¬†“else”viene¬†eseguito.

nome = str(input("Inserisci il tuo nome: ")).lower()
admin = "fabio"
manager = "serena"
if nome == admin:
    print("Ciao", nome, "Sei L'Amministratore!")

elif nome == manager:
    print("Ciao", manager, "Hai accesso al sistema come manager.")

else:
    print("Spiacente, non puoi accedere al sistema.")

In questo esempio abbiamo definito due variabili che poiabbiamo confrontato e usato con le parole chiave “if” ed “elif” ed “else”.

Break e Continue:

Le parole chiave break e continue vengono usate per indicareal nostro programma di interrompere l’esecuzione o continuareal prossimo passaggio a seconda delle esigenze.

for x in range(100):
if x % 10 == 0:
    continue

if x > 75:
    print(x)
    break
else:
    print(x)

In questo esempio, ogni volta che incontriamo un numero multiplo di 10,lo saltiamo e passiamo a quello successivo grazie alla parolachiave “continue”Mentre quando il nostro numero √© maggiore di 75 interrompiamol’esecuzione del codice grazie alla parola chiave “break”.

la parola chiave “pass”:

Per concludere la parola chiave pass, non fa nulla. Essenziamlenteviene usata per indicare che uno strumento di controllo, unafunzione, o una classe sono stati definiti ma non ancora implementati.

x = 0
while x < 10:
    pass

if x in range(10):
    pass

names = ["Fabio", "Serena", "Mario", "Marco"]
for name in names:
    pass

Nel prossimo video studieremo le code definire ed usare una funzione. 

Nel frattempo fate pratica con gli strumenti che abbiamo visto fin ora e se qualcosa non vi √© chiaro riguardate i video precedenti.

Corso Python – Parte #5

Coming soon…


ūüĎĎ Grazie a Serena Pecci per la collaborazione nella stesura e revisione dei testi scritti. ūüĎĎ

Comments

Leave a comment

Your email address will not be published. Required fields are marked *