import data # splitto la lista data per togliere gli spazi e gli "a capo" split = data.l.splitlines() # aggiungo una variabile per sommare i range somma = 0 for i in split: # splitto nuovamente per non avere il carattere - e separare i due numeri splot = i.split(" ") # definisco due nuove variabili per splittare le due stringhe asplot = [] bsplot = [] # associo alle due nuove stringhe i valori asplot = splot[0] bsplot = splot[1] # definisco le variabili per splittare i quattro valori di ogni stringa alfa = 0 beta = 0 gamma = 0 delta = 0 # associo ad ogni variabile uno dei quattro numeri dei due range alfa = int(asplot.split("-")[0]) beta = int(asplot.split("-")[1]) gamma = int(bsplot.split("-")[0]) delta= int(bsplot.split("-")[1]) # creo due liste vuote boxes1 = [] boxes2 = [] # associo alle due liste tutti i valori dei due range boxes1 = list(range(alfa,beta+1)) boxes2 = list(range(gamma,delta+1)) # creo una copia della prima lista new_boxes = boxes1 # per ogni elemento della seconda lista, che non e' presente nella prima lista, # lo aggiungo a new_boxes for i in boxes2: new_boxes.append(i) # rimuovo eventuali numeri duplicati no_duplicates_boxes = list(set(new_boxes)) # ordino dal minore al maggiore sort_boxes = sorted(no_duplicates_boxes) # aggiungo alla variabile somma, il valore della linghezza della lista ottenuta somma += len(sort_boxes) print ("Result :", somma)