import importlib.util # Import del file con le liste di numeri ed operatori data = "matrix.py" spec = importlib.util.spec_from_file_location("matrix", data) matrix = importlib.util.module_from_spec(spec) spec.loader.exec_module(matrix) # creo una lista vuota num = [] # per ogni riga della lisa dei numeri estraggo il valore # mi serve perche' se no prende l'andare a capo come valore for line in matrix.n.splitlines(): num.append(line) #inverto la stringa degli operatori s_inverted = matrix.s[::-1] # creo una nuova lista di lunghezza pari alla meta' dei numeri a disposizione elementi = int(len(num)/2) # scorro i tre array, i numeri in posizione pari sono unita', i numeri in # posizione dispari (faccio per 10) sono decine e poi sommo tutto nella nuova lista new_num = [0] * elementi for n, (d, u) in enumerate(zip(num[::2], num[1::2])): new_num[n] += int(u) + (int(d)*10) # creo la variabile per sommare i valori # la definisco con il valore del primo numero # converto la stringa contenuta nella lista in intero result = int(new_num[0]) # ciclo insieme tutti i numeri e gli operatori (invertiti), partendo dal #secondo numero della lista dei valori for n, op in zip(new_num[1:], s_inverted): if op == '+': result += int(n) if op == '-': result -= int(n) #stampo il risultato print("result =", result)