Sei sulla pagina 1di 7

PHYTON

Debugging: Errori di programmazione sono chiamati bugs il processo di scoperta dei debug e
correzione è chiamato debugging. Ci sono tre tipi di errori che possono succedere:
errori di sintassi: Python può eseguire solamente programmi sintatticamente corretti; altrimenti il
processo fallisce e ritorna un messaggio di errore.
errori di esecuzione: Il secondo tipo di errori sono gli errori di esecuzione, così chiamati perché
appaiono solo quando il programma viene eseguito.
errori semantici: Il terzo tipo di errore è chiamato errore semantico.Se c’è un errore semantico, il
codice verrà eseguito senza che il computer riporti errori, ma il risultato del programma non sarà
corretto. Il problema è che ciò che abbiamo scritto non era quello che volevamo scrivere.

PRIMO PROGRAMMA
print("Hello, World!”)
DATI SEMPLICI

VALORI E TIPI DI DATO

Un valore è un elemento di base, come una parola o un numero,che il programma manipola.


Questi oggetti sono classi cati in classi classes diverse, detti tipi di dato:
• 4 è un intero
• "Hello, World!" è una stringa, così chiamata perché contiene una sequenza di lettere.

Se non siamo sicuri di che tipo è un oggetto, possiamo usare la funzione type.

print(type("Hello, World!”))
print(type(17))
print("Hello, World”)

I numeri con la virgola sono chiamati oat, perché questi numeri sono rappresentati in un formato
chiamato oating-point.

I valori "17" e "3.2" sembrano numeri ma sono racchiusi da virgolette come le stringhe, per cui
sono stringhe.Le stringhe sono racchiuse in apici (') virgolette quotes ("), o triplici apici e triplici
virgolette (''' or “”").

print('''"Oh no", she exclaimed, "Ben's bike is broken!”’'')

Triple virgolette o apici possono rappresentare stringhe su più righe:

message = """This message will


span several
lines."""
print(message)

L’uso degli apici o delle virgolette è lo stesso e le stringhe vengono trattate allo stesso modo.

print('This is a string.')
print("""And so is this.”"")
fl
fi
fl
VARIABILI

n = 17

Non devo confondere questo segno con l’uguaglianza ( che invece e’ ==). Bisogna leggerlo come
“n prende il valore 17 e non “n uguale..”.

Le variabili hanno un tipo e possiamo chiederlo.

message = "What's up, Doc?"


n = 17
pi = 3.14159

print(type(message))
print(type(n))
print(type(pi))

Questo vuol dire che esse possono cambiare il loro valore al passare del tempo, come pure il
punteggio durante un gioco cambia.Possiamo assegnare un valore a una variabile e più tardi
assegnare un valore di erente alla stessa variabile.

Il nome della variabile non puo’ cominciare con un numero e non può avere caratteri speciali.

ISTRUZIONI E ESPRESSIONI

Una istruzione è un ordine che l’interprete deve eseguire, come ad esempio l’assegnamento.Una
espressione è una combinazione di valori, variabili e operatori, and chiamate a funzioni. Le
espressioni devono essere valutate.

print(1 + 1)
print(len(“hello”))

y = 3.14
x = len("hello")
print(x)
print(y)
ff
OPERATORI E OPERANDI
-L’asterisco (*) è il token for la moltiplicazione
-** è il token per l’esponenziazione.

print(2 ** 3)
print(3 ** 2)

minutes = 645
hours = minutes / 60
print(hours)

La divisione intera usa il token “//“.


◦ Il numero risultante viene sempre approssimato al numero intero a sinistra più vicino sulla
linea dei numeri.
◦ Dunque 6 // 4 restituisce 1, ma -6 // 4 restituisce -2!

minutes = 90
hours = minutes // 60
print(hours)

FUNZIONI DI CONVERSIONE
Le funzioni int, float e str, provano a convertire i loro argomenti rispettivamente nei tipi int,
float e str.Le chiamiamo funzioni di conversione di tipo. Per i ora cancella la parte dopo
virgola, troncamento.

print("int(3.14) returns")
print(int(3.14))
print("int(3.9999) doesn't round to the closest int!")
print(int(3.9999))
print("int(3.0) returns the same of int(3.9999)")
print(int(3.0))
print("int(-3.999) returns the result closer to zero")
print(int(-3.999))
print("int(minutes / 60) replaces minutes with its value")
minutes=120
print(int(minutes / 60))
print("Parsing a string to produce an int")
print(int("2345"))
print("It even works if arg is already an int")
print(int(17))

Float trasforma un intero in oat.

print( oat(17))
print( oat("123.45"))

Str trasforma il suo argomento in stringa


print(type(str(17)))
print(type(str(123.45)))
fl
fl
fl
fl
OPERAZIONI SU STRINGHE
In generale, non si possono fare operazioni matematiche su stringhe, anche se
esse sembrano numeri, per cui "15"+2 è un errore.

Tuttavia, l’operatore + funziona con le stringhe in quanto rappresenta la


concatenazione.

fruit = "banana"
baked_good = " nut bread" #The spaces is part of the string.
print(fruit + baked_good)

L’operatore * funziona anche con le stringhe in quanto corrisponde alla ripetizione.

fruit = “banana"
print(fruit*3)
#This is the same as
print(fruit+fruit+fruit)

OPERATORE DI MODULO
L’operatore modulo funziona con interi (e espressioni intere) e ritorna il resto della
divisione del primo numero per il secondo.

In Python, l’operatore modulo si esprime con il simbolo percentuale (%).

q = 7 // 3 # This is integer division operator


print(q)
r =7%3
print(r)

Si può controllare se un numero è divisibile per l’altro


x % 10 restituisce le unità di x (in base 10).
x % 100 restituisce le ultime due cifre.

total_secs = int(input("How many seconds, in total?"))


hours = total_secs // 3600
secs_still_remaining = total_secs % 3600
minutes = secs_still_remaining // 60
secs_ nally_remaining = secs_still_remaining % 60

print("Hrs=", hours, " mins=", minutes, "secs=", secs_ nally_remaining)


fi
fi
INPUT
Esiste una funzione in Python per ricevere input da un utente:

x = input("What's your name?")


print("Your name is " + x)
age = input("What's your age?")
print("Your age is " + age )

ORDINE OPERAZIONI
L’ordine delle valutazioni dipende dalle regole di precedenza.Python segue le
stesse regole delle operazioni matematiche a cui si riferisce.

L’acronimo PEMDAS (or PEDMSA) è un modo utile per ricordarsi l’ordine:


Le Parentesi hanno la priorità e possono essere usate per forzare l’ordine che vogliamo. 2 * (3-1)
fa 4.. L’Esponenziazione ha la seconda priorità, per``3*1**3`` fa 3. La Moltiplicazione e la Divisione
hanno la stessa precedenza, che è più alta dell’ Addizione e della Sottrazione, che hanno la
stessa precedenza. Per cui 2*3-1 fa 5. Gli operatori con la stessa precedenza sono valutati da
sinistra verso destra. Per ragioni storiche, un’eccezione si ha per l’operatore di esponenziazione **
dobbiamo usare sempre le parentesi per forzare l’ordine che vogliamo quando abbiamo a che fare
con **

# The right-most ** operator gets done rst!


print(2 ** 3 ** 2)
# Use parentheses to force the order you want!
print((2 ** 3) ** 2)

RIASSEGNAMENTO
E’ possibile fare più di un assegnamento alla stessa variabile.Un nuovo assegnamento fa riferire la
variabile al nuovo valore, dimenticando completamente il vecchio valore.

bruce = 5
print(bruce)
bruce = 7
print(bruce)

a=5
b = a # after executing this line, a and b are now equal
print(a, b)
a = 3 # after executing this line, a and b are no longer equal
print(a, b)
fi
AGGIORNAMENTO VARIABILI

Una delle più comuni forme di ri-assegnamento è l’aggiornamento update dove il nuovo valore
della variabile dipende da quello precedente.
Per esempio, x = x + 1. Questo signi ca che bisogna prendere il valore corrente di x, aggiungere
uno e aggiornare il valore di x.
Il nuovo valore di x è il vecchio valore di x più 1.
◦ Prima, viene valutata l’espressione a destra.
◦ Successivamente, il nome della variabile a sinistra viene associato a questo valore.

x=6 # initialize x
print(x)
x = x + 1 # update x
print(x)

Se proviamo ad aggiornare una variabile che non esiste otteniamo un errore


perché Python non può valutare l’espressione a destra.

• Prima di aggiornare una variabile, bisogna inizializzarla.


• Aggiornare una variabile sommando 1 è chiamato incremento; sottrarre 1 è chiamato
decremento.

FARE ESERCIZI FINALI SU DATI SEMPLICI


fi

Potrebbero piacerti anche