Sobes.tech
Middle — Senior

Hozzon létre egy olyan függvényt, amely elfogad egy számokat tartalmazó tömböt, és visszaad egy sztringet a sorozatos számok tartományairól?

sobes.tech MI

Válasz az MI-től

Az alábbiakban egy Python függvény példáját találod, amely egy rendezett számokat tartalmazó tömböt fogad, és egy olyan karakterláncot ad vissza, amelyben a folyamatos számok tartományokban vannak összefoglalva. A folyamatos számokat "kezdő- vég" formátumú tartományokba egyesítjük, az egyedi számokat pedig úgy jelenítjük meg, ahogy vannak.

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

    tartomanyok = []
    kezdet = elozo = nums[0]

    for num in nums[1:]:
        if num == elozo + 1:
            elozo = num
        else:
            if kezdet == elozo:
                tartomanyok.append(str(kezdet))
            else:
                tartomanyok.append(f"{kezdet}-{elozo}")
            kezdet = elozo = num

    # Utolsó tartomány hozzáadása
    if kezdet == elozo:
        tartomanyok.append(str(kezdet))
    else:
        tartomanyok.append(f"{kezdet}-{elozo}")

    return ",".join(tartomanyok)

# Példa a használatra
arr = [1, 2, 3, 5, 6, 8, 9, 10]
print(ranges_to_string(arr))  # Kimenet: 1-3,5-6,8-10