SlideShare a Scribd company logo
Programma
INPUT OUTPUT
indentazione
INPUT
(parametri)
OUTPUT
(risultato)
INPUT
(argomenti)
OUTPUT
(assegnazione)
PARAMETRI
ARGOMENTIArgomenti assegnati
per posizione
In fase di chiamata non è
necessario passare gli argomenti
corrispondenti ai parametri
predefiniti. In caso di assenza di
argomento essi assumono il
valore di default. Si può chiamare
una funzione modificando il valore
di uno o più parametri predefiniti
def Indietro(N):
if N == 0: return
print(N)
Indietro(N-1)
Questa funzione chiama
se stessa con un
argomento
decrementato
progressivamente di
uno
def Fattoriale(n):
if n == 0:
#print('n è uguale a 0')
return 1
else:
R=n * Fattoriale(n-1)
#print(n,R)
return R
Funzione
call 1
call 2
call n
return 2
return 1
return n
Questa funzione chiama recorsivamente se
stessa fino a che N è uguale a zero. Quindi
assegna ricorsivamente il valore R alla
chiamante
class AnnualTS:
'''La Classe AnnualTS serve ad istanziare un oggetto
per la gestione/descrizione di una serie storica.
'''
def __init__(BASE, START, END, DATA):
BASE.LYEAR = [I for I in range(START,END+1)]
BASE.DATA = DATA
BASE.TS= dict(zip(BASE.LYEAR,BASE.DATA))
def __str__(BASE):
STR=""
for YEAR in BASE.LYEAR:
STR=STR+'Anno {0}: {1} n'.format(
YEAR,BASE.TS[YEAR])
return STR
TS1=AnnualTS(2000, 2005, [22,33,42,34,28,33])
TS1.TS
print(TS1)
def mean(BASE):
SUM=0
LNUM=0
for YEAR in BASE.LYEAR:
SUM=SUM+BASE.TS[YEAR]
LNUM +=1
RIS=1.0*SUM/LNUM
return RIS
def max(BASE):
MAX=0
for YEAR in BASE.LYEAR:
if BASE.TS[YEAR]>MAX:
MAX=BASE.TS[YEAR]
return MAX
TS1.mean()
TS1.max()
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti

More Related Content

More from Studiabo

Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshape
Studiabo
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindex
Studiabo
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframe
Studiabo
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandas
Studiabo
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti
Studiabo
 
Strutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltinStrutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltin
Studiabo
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
Studiabo
 
Strutture dati 01-numeristringhe
Strutture dati 01-numeristringheStrutture dati 01-numeristringhe
Strutture dati 01-numeristringhe
Studiabo
 
Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019
Studiabo
 
Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018
Studiabo
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshape
Studiabo
 
Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018
Studiabo
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
Studiabo
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindex
Studiabo
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandas
Studiabo
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframe
Studiabo
 
Strutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltinStrutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltin
Studiabo
 
Strutture dati 01-numeristringhe
Strutture dati 01-numeristringheStrutture dati 01-numeristringhe
Strutture dati 01-numeristringhe
Studiabo
 
Strutture dati 00-corso2018
Strutture dati 00-corso2018Strutture dati 00-corso2018
Strutture dati 00-corso2018
Studiabo
 
Data mining 00-corso2017
Data mining 00-corso2017Data mining 00-corso2017
Data mining 00-corso2017
Studiabo
 

More from Studiabo (20)

Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshape
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindex
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframe
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandas
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti
 
Strutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltinStrutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltin
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
 
Strutture dati 01-numeristringhe
Strutture dati 01-numeristringheStrutture dati 01-numeristringhe
Strutture dati 01-numeristringhe
 
Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019
 
Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshape
 
Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindex
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandas
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframe
 
Strutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltinStrutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltin
 
Strutture dati 01-numeristringhe
Strutture dati 01-numeristringheStrutture dati 01-numeristringhe
Strutture dati 01-numeristringhe
 
Strutture dati 00-corso2018
Strutture dati 00-corso2018Strutture dati 00-corso2018
Strutture dati 00-corso2018
 
Data mining 00-corso2017
Data mining 00-corso2017Data mining 00-corso2017
Data mining 00-corso2017
 

Strutture dati 04-funzionicustom-classioggetti

  • 1.
  • 6. In fase di chiamata non è necessario passare gli argomenti corrispondenti ai parametri predefiniti. In caso di assenza di argomento essi assumono il valore di default. Si può chiamare una funzione modificando il valore di uno o più parametri predefiniti
  • 7.
  • 8.
  • 9. def Indietro(N): if N == 0: return print(N) Indietro(N-1) Questa funzione chiama se stessa con un argomento decrementato progressivamente di uno def Fattoriale(n): if n == 0: #print('n è uguale a 0') return 1 else: R=n * Fattoriale(n-1) #print(n,R) return R Funzione call 1 call 2 call n return 2 return 1 return n Questa funzione chiama recorsivamente se stessa fino a che N è uguale a zero. Quindi assegna ricorsivamente il valore R alla chiamante
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. class AnnualTS: '''La Classe AnnualTS serve ad istanziare un oggetto per la gestione/descrizione di una serie storica. ''' def __init__(BASE, START, END, DATA): BASE.LYEAR = [I for I in range(START,END+1)] BASE.DATA = DATA BASE.TS= dict(zip(BASE.LYEAR,BASE.DATA)) def __str__(BASE): STR="" for YEAR in BASE.LYEAR: STR=STR+'Anno {0}: {1} n'.format( YEAR,BASE.TS[YEAR]) return STR TS1=AnnualTS(2000, 2005, [22,33,42,34,28,33]) TS1.TS print(TS1)
  • 16. def mean(BASE): SUM=0 LNUM=0 for YEAR in BASE.LYEAR: SUM=SUM+BASE.TS[YEAR] LNUM +=1 RIS=1.0*SUM/LNUM return RIS def max(BASE): MAX=0 for YEAR in BASE.LYEAR: if BASE.TS[YEAR]>MAX: MAX=BASE.TS[YEAR] return MAX TS1.mean() TS1.max()