# importo dal file data.py le stringhe date with open("data.py", "r") as f: lines = f.readlines() # definisco la funzione per convertire le lettere maiuscole nei corrispettivi numeri ed i numeri (stringa) nei corrispettivi valori def letters_to_numbers(text): return [ord(char) - 64 if 'A' <= char <= 'Z' else ord(char) - 48 for char in text.upper() if ('A' <= char <= 'Z') or ('0' <= char <= '9') ] # creo la variabile per la somma dei caratteri somma = 0 # per ogni stringa in input (una per riga) # lancio la funzione di conversione e sommo il numero di "celle di memoria" for line in lines: # definisco una variabile per salvare il valore della lettera corrente nella stringa l = line.strip("\n")[0] # definisco una variabile per salvare il numero di occorrenze della lettera corrente c = 0 # definisco una nuova stringa con solo la prima lettera della stringa originale s = '' # per ogni riga (tolto a capo) eseguo la funzione per convertire la lettera in numero for i in line.strip("\n"): # se il carattere precedente e' diverso da quello attuale if l != i: # aggiungo alla stringa il numero di ricorrenze dell'attuale lettera s += str(c) # aggiungo la nuova lettera alla stringa s += l # associo alla variabile l il nuovo valore della stringa originale l = i # setto ad 1 il count c = 0 # se se il carattere precedente e' uguale a quello attuale incremento il contatore c if l == i: c += 1 # prima di finire il ciclo for aggiungo alla stringa il numero di ricorrenze dell'attuale lettera s += str(c) # prima di finire il ciclo for aggiungo la nuova lettera alla stringa s += l # aggiungo una variabile per il conteggio parziale dei valori parz = 0 for i in s: # salvo nella variabile c il valore convertito dell'attuale carattere c = letters_to_numbers(i) # aggiungo il valore numerico alla variabile parz += int(c[0]) # sommo il parziale al totale somma += parz print ("Result: ", somma)