Middle — Senior
Creare una funzione che accetti un array di numeri e restituisca una stringa con gli intervalli di numeri consecutivi?
sobes.tech AI
Risposta dell'AI
Ecco un esempio di funzione in Python che prende un array ordinato di numeri e restituisce una stringa con intervalli di numeri consecutivi. I numeri consecutivi vengono uniti in intervalli del tipo "start-end", e i numeri singoli vengono mostrati così come sono.
def ranges_to_string(nums):
if not nums:
return ""
intervalli = []
inizio = precedente = nums[0]
for num in nums[1:]:
if num == precedente + 1:
precedente = num
else:
if inizio == precedente:
intervalli.append(str(inizio))
else:
intervalli.append(f"{inizio}-{precedente}")
inizio = precedente = num
# Aggiungi l'ultimo intervallo
if inizio == precedente:
intervalli.append(str(inizio))
else:
intervalli.append(f"{inizio}-{precedente}")
return ",".join(intervalli)
# Esempio di utilizzo
arr = [1, 2, 3, 5, 6, 8, 9, 10]
print(ranges_to_string(arr)) # Output: 1-3,5-6,8-10