# 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 def letters_to_numbers(text): return [ord(char) - 64 for char in text.upper() if 'A' <= char <= 'Z'] # 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: #numeri = letters_to_numbers(line.strip()) # calcolo lunghezza totale della stringa (senza a capo) total_len = len(line.strip("\n")) # calcolo del numero di lettere da tagliare cut = int(total_len/10) # calcolo del numero di caratteri da tenere resto = total_len - (2*cut) # definisco una variabile per ciclare solo fino alla lunghezza richiesta l = 0 # per ogni riga (tolto a capo) eseguo la funzione per convertire la lettera in numero for i in line.strip("\n"): if l == cut: l = 0 break numero = letters_to_numbers(i) # sommo alla variabile, la quota di numeri della prima parte di lettere somma += numero[0] l += 1 # sommo alla variabile la cifra numerica della parte centrale della stringa somma += (sum(int(x) for x in str(resto))) l = 0 # come per il for sopra, ma per le ultime cifre della stringa for i in reversed(line.strip("\n")): if l == cut: l = 0 break numero = letters_to_numbers(i) somma += numero[0] l += 1 print ("Result: ", somma)