Sobes.tech
Middle — Senior

Eine Funktion erstellen, die ein Array von Zahlen akzeptiert und eine Zeichenkette mit den Bereichen aufeinanderfolgender Zahlen zurückgibt?

sobes.tech KI

Antwort von AI

Hier ist ein Beispiel für eine Funktion in Python, die ein sortiertes Array von Zahlen entgegennimmt und eine Zeichenkette mit Bereichen aufeinanderfolgender Zahlen zurückgibt. Aufeinanderfolgende Zahlen werden zu Bereichen vom Typ "Start-End" zusammengefasst, einzelne Zahlen werden so ausgegeben, wie sie sind.

def ranges_to_string(nums):
    if not nums:
        return ""

    bereiche = []
    start = vorher = nums[0]

    for num in nums[1:]:
        if num == vorher + 1:
            vorher = num
        else:
            if start == vorher:
                bereiche.append(str(start))
            else:
                bereiche.append(f"{start}-{vorher}")
            start = vorher = num

    # Füge den letzten Bereich hinzu
    if start == vorher:
        bereiche.append(str(start))
    else:
        bereiche.append(f"{start}-{vorher}")

    return ",".join(bereiche)

# Beispiel zur Verwendung
arr = [1, 2, 3, 5, 6, 8, 9, 10]
print(ranges_to_string(arr))  # Ausgabe: 1-3,5-6,8-10