import os def printdir(path, livello=0): print(' '*livello + path) files = os.listdir(path) for f in files: if f[0] == '.': continue path_completo = os.path.join(path, f) if os.path.isdir(path_completo): printdir(path_completo, livello+1) else: print(' '*livello, f) def cercaFile(path, sottostringa, livello=0): files = os.listdir(path) for f in files: path_completo = os.path.join(path, f) if sottostringa in f: print( ' '*livello + path_completo ) if os.path.isdir(path_completo): cercaFile(path_completo, sottostringa, livello+1) def dirSize(path, livello=0): print(' '*livello + 'entering ' + path) size = 0 files = os.listdir(path) for f in files: path_completo = os.path.join(path, f) if os.path.isdir(path_completo): size += dirSize(path_completo, livello+1) else: size += os.stat(path_completo).st_size print(' '*livello + 'exiting -> ' + str(size)) return size def sommaLista(L): somma = 0 for i in L: somma += i return somma def sommaListaRic(L, livello=0): print(' '*livello + 'entering ' + str(L)) if len(L) == 0: ris = 0 else: ris = L[0] + sommaListaRic(L[1:], livello+1) print(' '*livello + 'exiting ' + str(ris)) return ris if __name__ == '__main__': print(sommaListaRic([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]))