Middle — Senior
Créer une fonction qui prend un tableau de nombres et retourne une chaîne avec les plages de nombres consécutifs?
sobes.tech IA
Réponse de l'IA
Voici un exemple de fonction en Python qui prend un tableau trié de nombres et renvoie une chaîne avec des plages de nombres consécutifs. Les nombres consécutifs sont regroupés en plages du type "début-fin", et les nombres individuels sont affichés tels quels.
def ranges_to_string(nums):
if not nums:
return ""
plages = []
debut = precedent = nums[0]
for num in nums[1:]:
if num == precedent + 1:
precedent = num
else:
if debut == precedent:
plages.append(str(debut))
else:
plages.append(f"{debut}-{precedent}")
debut = precedent = num
# Ajouter la dernière plage
if debut == precedent:
plages.append(str(debut))
else:
plages.append(f"{debut}-{precedent}")
return ",".join(plages)
# Exemple d'utilisation
arr = [1, 2, 3, 5, 6, 8, 9, 10]
print(ranges_to_string(arr)) # Affichera : 1-3,5-6,8-10