70 lines
2.4 KiB
Python
70 lines
2.4 KiB
Python
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
|
|
|
|
# aggiungo una variabile per fare una lista di liste
|
|
listona = []
|
|
|
|
# aggiungo variabile per calcolo lunghezza massima
|
|
max_len = 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 l in boxes2:
|
|
new_boxes.append(l)
|
|
# rimuovo eventuali numeri duplicati
|
|
no_duplicates_boxes = list(set(new_boxes))
|
|
# ordino dal minore al maggiore
|
|
sort_boxes = sorted(no_duplicates_boxes)
|
|
# aggiungo la lista di ogni riga ad una lista (lista di liste)
|
|
listona.append(sort_boxes)
|
|
# calcolo la lunghezza della lista
|
|
len_listona = len(listona)
|
|
# se la lunghezza della lista e' != 2 salto
|
|
if len_listona == 2:
|
|
# creo una variabile temporanea con la lista parzuiale dei numeri
|
|
lista_par = []
|
|
# popolo la lista con tutti i numeri della lista di liste
|
|
lista_par = sum(listona, [])
|
|
# elimino numeri doppi e metto in ordine crescente
|
|
lista_par_sort_unic = (sorted(set(lista_par)))
|
|
# se nella lista di liste ci sono gia' due elementi (due righe di dati)
|
|
# allora elimino il primo elemento
|
|
del listona[0]
|
|
# se il numero di elementi e' maggiore del caso precedente, allora aggiorno
|
|
if len(lista_par_sort_unic) > max_len:
|
|
max_len = len(lista_par_sort_unic)
|
|
|
|
print ("Result :", max_len)
|