Middle — Senior
Maak een functie die een array van getallen accepteert en een string retourneert met de bereiken van opeenvolgende getallen?
sobes.tech AI
Antwoord van AI
Hieronder staat een voorbeeld van een Python-functie die een gesorteerde lijst met nummers accepteert en een tekenreeks retourneert met reeksen van opeenvolgende nummers. Opeenvolgende nummers worden samengevoegd in reeksen van het type "start-eind", en enkele nummers worden gewoon weergegeven.
def ranges_to_string(nums):
if not nums:
return ""
bereiken = []
start = vorige = nums[0]
for num in nums[1:]:
if num == vorige + 1:
vorige = num
else:
if start == vorige:
bereiken.append(str(start))
else:
bereiken.append(f"{start}-{vorige}")
start = vorige = num
# Voeg de laatste reeks toe
if start == vorige:
bereiken.append(str(start))
else:
bereiken.append(f"{start}-{vorige}")
return ",".join(reiken)
# Voorbeeld van gebruik
arr = [1, 2, 3, 5, 6, 8, 9, 10]
print(ranges_to_string(arr)) # Uitvoer: 1-3,5-6,8-10