codyssi_2025/03_supplies_in_surplus/part2.py

49 lines
1.5 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
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)