Introduzione programmazione¶
print(5*3)
x = 34 #INTEGER
type(x)
x = 34.1 #FLOAT
type(x)
#x=a ERROR
pippo=5
pippo*2
#1test #ERROR
#la variabile=10 #ERROR
#la-variabile=10 #ERROR
lavariabile=10
stringa='ciao a tutti'
stringa
'ciao a tutti'
type(stringa)
str
stringa1 = 'la notte leoni...'
stringa2 = 'la mattina...'
print(stringa1+stringa2)
la notte leoni...la mattina...
età=29
testo = 'la mia età è ..'
#errore!
testo+età
testo+str(età)
'la mia età è ..29'
pere = '20'
type(pere)
str
# trasformazion in numero:
int(pere)
20
float(pere)
20.0
pere*3 ### errore!!!!!!!!!
'202020'
int(pere)*3
60
print(" se questa frase è troppo lunga, può \n benissimo essere suddivisa in \n due o più righe!")
se questa frase è troppo lunga, può
benissimo essere suddivisa in
due o più righe!
from google.colab import files
uploaded = files.upload()
Saving dog.jpg to dog.jpg
!pip install calmsize
Collecting calmsize
Downloading https://files.pythonhosted.org/packages/da/69/382ee4e1553f15321dd76109325f6a186a79354c53e8ac97cf79a2ebddbe/calmsize-0.1.3.tar.gz
Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from calmsize) (46.3.0)
Building wheels for collected packages: calmsize
Building wheel for calmsize (setup.py) ... [?25l[?25hdone
Created wheel for calmsize: filename=calmsize-0.1.3-cp36-none-any.whl size=2887 sha256=7c7be09df3aa34a821d8f3f23d3482b01fa2bc707733a68b6460ed39e3801b7a
Stored in directory: /root/.cache/pip/wheels/02/ac/1a/2a3418bc8f81abda6cd1b6d0f8f287556fc8de80dbabab75d1
Successfully built calmsize
Installing collected packages: calmsize
Successfully installed calmsize-0.1.3
import calmsize as cs
cs.size(2048)
2K<ByteSize amount=2.0>
!pwd # per printare il percorso su cui ci troviamo
!ls # per printare la lista delle cartelle che vediamo nell'attuale posizione
/content
sample_data
!mkdir test
#!rm -rf test/
cd test
/content/test
pwd
'/content/test'
cd ..
/content
from IPython.display import Image
Image('dog.jpg',width=200,height=120)
Image('https://www.perfect-fit.it/media/11889/cat_m3_cat_outside_1.jpg',width=800,height=450)
# Titolo
## Categoria
### Subcategoria
#### subsubcategoria
Oggetti in python¶
# [], {},() : LIST -- DICTIONARY -- TUPLE
## LIST ##
lista = [5,9,-2,11]
lista
[5, 9, -2, 11]
lista.sort()
lista
[-2, 5, 9, 11]
lista.sort(reverse=True)
lista
[11, 9, 5, -2]
lista = [0,1,-2,3,'hello',1.0] # int, string,float
lista
[0, 1, -2, 3, 'hello', 1.0]
type(lista)
list
# generate fast list:
lista1 = [3.5]*15
lista1
[3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5]
lista2 = [4]*5
lista2
[4, 4, 4, 4, 4]
lista2.append(2) # in fondo
lista2
[4, 4, 4, 4, 4, 2, 2]
lista1 = [1, 2, 3, 4]
lista2 = [5, 6, 7, 8]
lista3 = lista1 + lista2
lista3
[1, 2, 3, 4, 5, 6, 7, 8]
listak = [10, 20, 30, 40]
lista2 = [50, 60, 70, 80]
listak.extend(lista2)
listak
[10, 20, 30, 40, 50, 60, 70, 80]
#count element inside a list
len(lista2)
7
#cancellare elemtni lista
anno = [2016, 2017, 2018, 2019 ,2020]
del anno [-1] ## se lo runno consecutivamente diventa lista vuota
anno
[2016, 2017, 2018, 2019]
del anno[0:2]
anno
[2018, 2019]
## oppure nomelista.remove(valore)
anno.remove(2018)
anno
[2019]
lista = [1,2,3,4,5]
lista
[1, 2, 3, 4, 5]
#select an element of a list
lista[5] # give an ERROR ## list index 0
lista[0]
#lista[1]
lista[4]
5
lista[4]==lista[-1]
True
lista[4]==lista[-2]
False
primi = [2,3,5,7,11,13,17,19,23,29,31]
primi[0:] # tutti
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]
primi[4:]
[11, 13, 17, 19, 23, 29, 31]
primi[4:6]
[11, 13]
for pippo in primi:
print(pippo)
2
3
5
7
11
13
17
19
23
29
31
lista_numerica = list(range(300,400,2)) ## solo numeri pari
lista_numerica
[300,
302,
304,
306,
308,
310,
312,
314,
316,
318,
320,
322,
324,
326,
328,
330,
332,
334,
336,
338,
340,
342,
344,
346,
348,
350,
352,
354,
356,
358,
360,
362,
364,
366,
368,
370,
372,
374,
376,
378,
380,
382,
384,
386,
388,
390,
392,
394,
396,
398]
quadrati = []
for n in range(10):
quadrati.append(n**2)
print(quadrati)
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
quadrati = [n**2 for n in range(10)]
print(quadrati)
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Dizionari¶
dizionario = {'key':'value'}
dizionario
{'key': 'value'}
type(dizionario)
dict
d = {'one':1,'two':2}
d
{'one': 1, 'two': 2}
e = {1:133,2:246}
e
f = {'one':1,2:2,3:'three'}
f.values()
dict_values([1, 2, 'three'])
d.keys()
dict_keys(['one', 'two'])
d.values()
dict_values([1, 2])
TUPLE (immutable)¶
tup1 = (1,2,3)
tup2 = (1,4,9)
tup1
(1, 2, 3)
tup2
(1, 4, 9)
type(tup1)
tuple
b= sorted(tup2)
b
[1, 4, 9]
type(b) # lo trasforma
list
### convert tuple to list
lista = [tup1,tup2]
lista
[(1, 2, 3), (1, 4, 9)]
lista[1] # perchè index 0
(1, 4, 9)
lista[0][1] #2
2
lista[1][1] #4
4
Array¶
import numpy as np
country = np.array(['USA', 'Japan', 'UK', 'Celestopoli', 'India', 'China'])
print(country)
['USA' 'Japan' 'UK' 'Celestopoli' 'India' 'China']
x = np.array([2,3,1,0])
x.shape
(4,)
y = np.array([[2,3,1,0],[1,1,1,1]])
y.shape
(2, 4)
np.zeros((2, 3))
array([[0., 0., 0.],
[0., 0., 0.]])
k =np.ones((2, 3))
k
array([[1., 1., 1.],
[1., 1., 1.]])
k.shape
(2, 3)
k
array([[1., 1., 1.],
[1., 1., 1.]])
np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.arange(2, 10, dtype=float) # default strp=1
array([2., 3., 4., 5., 6., 7., 8., 9.])
np.linspace(1., 4., 6)
array([1. , 1.6, 2.2, 2.8, 3.4, 4. ])
x = np.array([3, 6, 9, 12])
x/3.0
x
array([ 3, 6, 9, 12])
print(x)
[ 3 6 9 12]
type(x)
numpy.ndarray
z = np.array([2,3,1,0])
np.sort(z)
array([0, 1, 2, 3])
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([[9, 8, 7], [6, 5, 4]])
c = np.concatenate((a, b))
c
array([[1, 2, 3],
[4, 5, 6],
[9, 8, 7],
[6, 5, 4]])
c.shape
(4, 3)
np.ones((2, 2), dtype=bool)
array([[ True, True],
[ True, True]])
z = np.array([[1, 0, 1], [0, 0, 0]],dtype=bool)
z
array([[ True, False, True],
[False, False, False]])
## Conversion to an array:
import numpy as np
my_list = [1, 2, 3, 4, 5, 6, 7, 8]
my_list = np.asarray(my_list)
#type(my_list)
my_list
array([1, 2, 3, 4, 5, 6, 7, 8])
my_tuple = ([8, 4, 6], [1, 2, 3])
type(my_tuple)
tuple
my_tuple = np.asarray(my_tuple)
my_tuple
array([[8, 4, 6],
[1, 2, 3]])
List vs Tuple¶
####### List vs Array
y = [3, 6, 9, 12]
y/3
##Give the error
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-138-1c78efc41cec> in <module>()
1 ####### List vs Array
2 y = [3, 6, 9, 12]
----> 3 y/3
4 ##Give the error
TypeError: unsupported operand type(s) for /: 'list' and 'int'
# Sorting a list
numbers = [1, 3, 4, 2]
numbers
[1, 3, 4, 2]
numbers.sort()
print(numbers)
[1, 2, 3, 4]
## String list
a = ["mela", "banana", "arancia"]
a
['mela', 'banana', 'arancia']
a[0] = "fragola"
a
['fragola', 'banana', 'arancia']
type(a)
list
a = ("mela", "banana", "arancia")
a
('mela', 'banana', 'arancia')
type(a)
tuple
a[0] = "fragola"
## Give the error
List recap¶
a = []
a.append("ciao")
a.append("a")
a.append("tutti gli")
a.append("studenti")
print("il numero degli elementi all'interno della lista è: ", len(a))
il numero degli elementi all'interno della lista è: 4
a
['ciao', 'a', 'tutti gli', 'studenti']
# remove one element from list
a.remove(a[0]) #remove first element 'Hello'
a
['a', 'tutti gli', 'studenti']
Algebra Booleana¶
True
True
False
False
variabile = True
type(variabile)
bool
True + True
2
45*True
45
45*False
0
50>=40.9999
True
10//2 == 11//2
True
# vale anche con le stringhe!!
'ciao' != 'goodbye'
True
'ciao' != 'ciao'
False
IF example¶
età=18
if età <18:
print('sei minorenne')
else:
print('sei maggiorenne')
sei maggiorenne
età=18
if età <10:
print('sei un bimbo')
elif età<=18:
print('sei un regaz')
elif età<50:
print('sei un boomer')
else:
print('bella vecchio! sei anziano')
sei un regaz
# Caso patente
età=50
patente=False
if età >=18 and patente==True:
print('puoi guidare finalmente la tua auto da sogno')
elif età >=18 and patente==False:
print('no patente, no party')
else:
print('mi dispiace, ritenta quando sarai più grande!!')
no patente, no party
Scrivi le funzioni¶
def print_tre_volte():
print('Ciao')
print('il mio nome è')
print('Daniele')
print_tre_volte()
Ciao
il mio nome è
Daniele
def somma_due_numeri(a,b):
print('questa funzione somma due numeri:')
risultato = a + b
print('il risultato è '+str(risultato)) # qui è costruito
somma_due_numeri(-10.0,3.0)
questa funzione somma due numeri:
il risultato è -7.0
ALLE FUNZIONI POSSIAMO PASSARE DEI VALORI CHIAMATI ARGOMENTI
def somma_due_numeri(a,b): ## a,b sono argomenti
#print('questa funzione somma due numeri:')
risultato = a + b
return risultato
# OUTPUT DI UNA FUNZIONE è IL VALORE DEL SUO RETURN
# TUTTE LE FUNZIONI HANNO UN RETURN
somma_due_numeri(2,3)
5
ls
formule.py [0m[01;34m__pycache__[0m/ [01;34msample_data[0m/
INPUT¶
x =input()
#x = input('inserire qualcosa ')
hhj
type(x)
str
### PROGRAMMA
print('questo è il mio programma in python')
nome=input('inserire il tuo nome ')
print('buon pomeriggio '+nome+' spero tu stia imparando tantissimo!')
questo è il mio programma in python
inserire il tuo nome tdcyttf
buon pomeriggio tdcyttf spero tu stia imparando tantissimo!
età = input('quanti anni hai?')
print('Bene!!! dunque hai '+ età + ' anni. Il porssimo anno ne avrai '+ str(int(età)+1))
quanti anni hai?3
Bene!!! dunque hai 3 anni. Il porssimo anno ne avrai 4